All of lore.kernel.org
 help / color / mirror / Atom feed
From: Quinn Tran <qutran@marvell.com>
To: Mark Harvey <mark.harvey@nutanix.com>,
	Roman Bolshakov <r.bolshakov@yadro.com>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"target-devel@vger.kernel.org" <target-devel@vger.kernel.org>
Cc: "linux@yadro.com" <linux@yadro.com>
Subject: RE: [EXT] [PATCH v2 13/15] scsi: qla2xxx: Add async mode for qla24xx_els_dcmd_iocb
Date: Fri, 22 Nov 2019 17:00:20 +0000	[thread overview]
Message-ID: <BYAPR18MB2759379EFEA3AAAED43CA114D5490@BYAPR18MB2759.namprd18.prod.outlook.com> (raw)
In-Reply-To: <81096D5B-FEC9-4A40-BE7B-ADB8CA1C5CA2@nutanix.com>

DQpGcm9tOiBNYXJrIEhhcnZleSA8bWFyay5oYXJ2ZXlAbnV0YW5peC5jb20+IA0KU2VudDogVGh1
cnNkYXksIE5vdmVtYmVyIDIxLCAyMDE5IDk6MDUgUE0NClRvOiBRdWlubiBUcmFuIDxxdXRyYW5A
bWFydmVsbC5jb20+OyBSb21hbiBCb2xzaGFrb3YgPHIuYm9sc2hha292QHlhZHJvLmNvbT47IGxp
bnV4LXNjc2lAdmdlci5rZXJuZWwub3JnOyB0YXJnZXQtZGV2ZWxAdmdlci5rZXJuZWwub3JnDQpD
YzogbGludXhAeWFkcm8uY29tDQpTdWJqZWN0OiBSZTogW0VYVF0gW1BBVENIIHYyIDEzLzE1XSBz
Y3NpOiBxbGEyeHh4OiBBZGQgYXN5bmMgbW9kZSBmb3IgcWxhMjR4eF9lbHNfZGNtZF9pb2NiDQoN
CldvdWxkIHRoaXMgbm90IHJlc3VsdCBpbiBhIG1lbW9yeSBsZWFrIGluIHRoZSAnZWxzZScgcGF0
aCAtIHNraXBwaW5nIHNwLT5mcmVlKHNwKT8NCg0KUVQ6IEdvb2QgcG9pbnQuICBUaGlzIG1lYW4g
dGhlIHBhdGNoIGlzIG1pc3NpbmcgcWxhMngwMF9lbHNfZGNtZF9zcF9kb25lIGNoZWNraW5nIGZv
ciBTUkJfV0FLRVVQX09OX0NPTVAgdG8gd2FrZSB1cCBvciBmcmVlIHRoZSBzcC4NCiAgDQogIC0J
d2FpdF9mb3JfY29tcGxldGlvbigmZWxzaW8tPnUuZWxzX2xvZ28uY29tcCk7DQogICAgKwlpZiAo
d2FpdCkgew0KICAgICsJCXdhaXRfZm9yX2NvbXBsZXRpb24oJmVsc2lvLT51LmVsc19sb2dvLmNv
bXApOw0KICAgICsJfSBlbHNlIHsNCiAgICArCQlnb3RvIGRvbmU7DQogICAgKwl9DQogICAgIA0K
ICAgICAJc3AtPmZyZWUoc3ApOw0KICAgICtkb25lOg0KICAgICAJcmV0dXJuIHJ2YWw7DQogICAg
IH0NCg0K77u/T24gMjIvMTEvMTksIDk6NTEgYW0sICJ0YXJnZXQtZGV2ZWwtb3duZXJAdmdlci5r
ZXJuZWwub3JnIG9uIGJlaGFsZiBvZiBRdWlubiBUcmFuIiA8dGFyZ2V0LWRldmVsLW93bmVyQHZn
ZXIua2VybmVsLm9yZyBvbiBiZWhhbGYgb2YgcXV0cmFuQG1hcnZlbGwuY29tPiB3cm90ZToNCg0K
ICAgIExvb2tzIGdvb2QuDQogICAgDQogICAgQWNrZWQtYnk6IFF1aW5uIFRyYW4gPHF1dHJhbkBt
YXJ2ZWxsLmNvbT4NCiAgICANCiAgICANCiAgICBSZWdhcmRzLA0KICAgIFF1aW5uIFRyYW4NCiAg
ICANCiAgICAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KICAgIEZyb206IFJvbWFuIEJvbHNo
YWtvdiA8ci5ib2xzaGFrb3ZAeWFkcm8uY29tPiANCiAgICBTZW50OiBXZWRuZXNkYXksIE5vdmVt
YmVyIDIwLCAyMDE5IDI6MjcgUE0NCiAgICBUbzogbGludXgtc2NzaUB2Z2VyLmtlcm5lbC5vcmc7
IHRhcmdldC1kZXZlbEB2Z2VyLmtlcm5lbC5vcmcNCiAgICBDYzogbGludXhAeWFkcm8uY29tOyBS
b21hbiBCb2xzaGFrb3YgPHIuYm9sc2hha292QHlhZHJvLmNvbT47IFF1aW5uIFRyYW4gPHF1dHJh
bkBtYXJ2ZWxsLmNvbT4NCiAgICBTdWJqZWN0OiBbRVhUXSBbUEFUQ0ggdjIgMTMvMTVdIHNjc2k6
IHFsYTJ4eHg6IEFkZCBhc3luYyBtb2RlIGZvciBxbGEyNHh4X2Vsc19kY21kX2lvY2INCiAgICAN
CiAgICBFeHRlcm5hbCBFbWFpbA0KICAgIA0KICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICBxbGEyNHh4
X2Vsc19kY21kX2lvY2IoKSBwZXJmb3JtcyBMT0dPIGFuZCBtaWdodCBiZSBpbnZva2VkIGluIGNv
bnRleHRzIHdoZXJlIGl0IGlzIHByb2hpYml0ZWQgdG8gc2xlZXAuIFRoZSBuZXcgd2FpdCBwYXJh
bWV0ZXIgcHJvdmlkZXMgYSB3YXkgdG8gdXNlIHRoZSBmdW5jdGlvbiBpbiBzdWNoIGNvbnRleHQs
IHNpbWlsYXJseSB0byBxbGEyNHh4X2Vsc19kY21kMl9pb2NiKCkuDQogICAgDQogICAgQ2M6IFF1
aW5uIFRyYW4gPHF1dHJhbkBtYXJ2ZWxsLmNvbT4NCiAgICBDYzogSGltYW5zaHUgTWFkaGFuaSA8
aG1hZGhhbmlAbWFydmVsbC5jb20NCiAgICBTaWduZWQtb2ZmLWJ5OiBSb21hbiBCb2xzaGFrb3Yg
PHIuYm9sc2hha292QHlhZHJvLmNvbT4NCiAgICAtLS0NCiAgICAgZHJpdmVycy9zY3NpL3FsYTJ4
eHgvcWxhX2F0dHIuYyAgIHwgIDIgKy0NCiAgICAgZHJpdmVycy9zY3NpL3FsYTJ4eHgvcWxhX2di
bC5oICAgIHwgIDIgKy0NCiAgICAgZHJpdmVycy9zY3NpL3FsYTJ4eHgvcWxhX2lvY2IuYyAgIHwg
MTEgKysrKysrKysrLS0NCiAgICAgZHJpdmVycy9zY3NpL3FsYTJ4eHgvcWxhX3RhcmdldC5jIHwg
IDIgKy0NCiAgICAgNCBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9u
cygtKQ0KICAgIA0KICAgIGRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvcWxhMnh4eC9xbGFfYXR0
ci5jIGIvZHJpdmVycy9zY3NpL3FsYTJ4eHgvcWxhX2F0dHIuYyBpbmRleCA0ODFjMDVkYmVhMDYu
LjM1YzcwM2VjNTlhZCAxMDA2NDQNCiAgICAtLS0gYS9kcml2ZXJzL3Njc2kvcWxhMnh4eC9xbGFf
YXR0ci5jDQogICAgKysrIGIvZHJpdmVycy9zY3NpL3FsYTJ4eHgvcWxhX2F0dHIuYw0KICAgIEBA
IC04MjgsNyArODI4LDcgQEAgcWxhMngwMF9pc3N1ZV9sb2dvKHN0cnVjdCBmaWxlICpmaWxwLCBz
dHJ1Y3Qga29iamVjdCAqa29iaiwNCiAgICAgDQogICAgIAlxbF9sb2cocWxfbG9nX2luZm8sIHZo
YSwgMHg3MGU0LCAiJXM6ICVkXG4iLCBfX2Z1bmNfXywgdHlwZSk7DQogICAgIA0KICAgIC0JcWxh
MjR4eF9lbHNfZGNtZF9pb2NiKHZoYSwgRUxTX0RDTURfTE9HTywgZGlkKTsNCiAgICArCXFsYTI0
eHhfZWxzX2RjbWRfaW9jYih2aGEsIEVMU19EQ01EX0xPR08sIGRpZCwgdHJ1ZSk7DQogICAgIAly
ZXR1cm4gY291bnQ7DQogICAgIH0NCiAgICAgDQogICAgZGlmZiAtLWdpdCBhL2RyaXZlcnMvc2Nz
aS9xbGEyeHh4L3FsYV9nYmwuaCBiL2RyaXZlcnMvc2NzaS9xbGEyeHh4L3FsYV9nYmwuaCBpbmRl
eCA1YjE2M2FkODVjMzQuLmRmMGYzNDIxZTNiYiAxMDA2NDQNCiAgICAtLS0gYS9kcml2ZXJzL3Nj
c2kvcWxhMnh4eC9xbGFfZ2JsLmgNCiAgICArKysgYi9kcml2ZXJzL3Njc2kvcWxhMnh4eC9xbGFf
Z2JsLmgNCiAgICBAQCAtNDMsNyArNDMsNyBAQCBleHRlcm4gdm9pZCBxbGEyeDAwX2NsZWFyX2xv
b3BfaWQoZmNfcG9ydF90ICpmY3BvcnQpOyAgZXh0ZXJuIGludCBxbGEyeDAwX2ZhYnJpY19sb2dp
bihzY3NpX3FsYV9ob3N0X3QgKiwgZmNfcG9ydF90ICosIHVpbnQxNl90ICopOyAgZXh0ZXJuIGlu
dCBxbGEyeDAwX2xvY2FsX2RldmljZV9sb2dpbihzY3NpX3FsYV9ob3N0X3QgKiwgZmNfcG9ydF90
ICopOw0KICAgICANCiAgICAtZXh0ZXJuIGludCBxbGEyNHh4X2Vsc19kY21kX2lvY2Ioc2NzaV9x
bGFfaG9zdF90ICosIGludCwgcG9ydF9pZF90KTsNCiAgICArZXh0ZXJuIGludCBxbGEyNHh4X2Vs
c19kY21kX2lvY2Ioc2NzaV9xbGFfaG9zdF90ICosIGludCwgcG9ydF9pZF90LCANCiAgICArYm9v
bCk7DQogICAgIGV4dGVybiBpbnQgcWxhMjR4eF9lbHNfZGNtZDJfaW9jYihzY3NpX3FsYV9ob3N0
X3QgKiwgaW50LCBmY19wb3J0X3QgKiwgYm9vbCk7ICBleHRlcm4gdm9pZCBxbGEyeDAwX2Vsc19k
Y21kMl9mcmVlKHNjc2lfcWxhX2hvc3RfdCAqdmhhLA0KICAgICAJCQkJICAgc3RydWN0IGVsc19w
bG9naSAqZWxzX3Bsb2dpKTsNCiAgICBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zY3NpL3FsYTJ4eHgv
cWxhX2lvY2IuYyBiL2RyaXZlcnMvc2NzaS9xbGEyeHh4L3FsYV9pb2NiLmMgaW5kZXggNTNjY2Jk
NmI3MWVkLi4xMmIzN2I3MTFhZTggMTAwNjQ0DQogICAgLS0tIGEvZHJpdmVycy9zY3NpL3FsYTJ4
eHgvcWxhX2lvY2IuYw0KICAgICsrKyBiL2RyaXZlcnMvc2NzaS9xbGEyeHh4L3FsYV9pb2NiLmMN
CiAgICBAQCAtMjU2Miw3ICsyNTYyLDcgQEAgc3RhdGljIHZvaWQgcWxhMngwMF9lbHNfZGNtZF9z
cF9kb25lKHNyYl90ICpzcCwgaW50IHJlcykNCiAgICAgDQogICAgIGludA0KICAgICBxbGEyNHh4
X2Vsc19kY21kX2lvY2Ioc2NzaV9xbGFfaG9zdF90ICp2aGEsIGludCBlbHNfb3Bjb2RlLA0KICAg
IC0gICAgcG9ydF9pZF90IHJlbW90ZV9kaWQpDQogICAgKyAgICBwb3J0X2lkX3QgcmVtb3RlX2Rp
ZCwgYm9vbCB3YWl0KQ0KICAgICB7DQogICAgIAlzcmJfdCAqc3A7DQogICAgIAlmY19wb3J0X3Qg
KmZjcG9ydCA9IE5VTEw7DQogICAgQEAgLTI2MDEsNiArMjYwMSw4IEBAIHFsYTI0eHhfZWxzX2Rj
bWRfaW9jYihzY3NpX3FsYV9ob3N0X3QgKnZoYSwgaW50IGVsc19vcGNvZGUsDQogICAgIAllbHNp
by0+dGltZW91dCA9IHFsYTJ4MDBfZWxzX2RjbWRfaW9jYl90aW1lb3V0Ow0KICAgICAJcWxhMngw
MF9pbml0X3RpbWVyKHNwLCBFTFNfRENNRF9USU1FT1VUKTsNCiAgICAgCWluaXRfY29tcGxldGlv
bigmc3AtPnUuaW9jYl9jbWQudS5lbHNfbG9nby5jb21wKTsNCiAgICArCWlmICh3YWl0KQ0KICAg
ICsJCXNwLT5mbGFncyA9IFNSQl9XQUtFVVBfT05fQ09NUDsNCiAgICAgCXNwLT5kb25lID0gcWxh
MngwMF9lbHNfZGNtZF9zcF9kb25lOw0KICAgICAJc3AtPmZyZWUgPSBxbGEyeDAwX2Vsc19kY21k
X3NwX2ZyZWU7DQogICAgIA0KICAgIEBAIC0yNjM3LDkgKzI2MzksMTQgQEAgcWxhMjR4eF9lbHNf
ZGNtZF9pb2NiKHNjc2lfcWxhX2hvc3RfdCAqdmhhLCBpbnQgZWxzX29wY29kZSwNCiAgICAgCSAg
ICBzcC0+bmFtZSwgc3AtPmhhbmRsZSwgZmNwb3J0LT5sb29wX2lkLCBmY3BvcnQtPmRfaWQuYi5k
b21haW4sDQogICAgIAkgICAgZmNwb3J0LT5kX2lkLmIuYXJlYSwgZmNwb3J0LT5kX2lkLmIuYWxf
cGEpOw0KICAgICANCiAgICAtCXdhaXRfZm9yX2NvbXBsZXRpb24oJmVsc2lvLT51LmVsc19sb2dv
LmNvbXApOw0KICAgICsJaWYgKHdhaXQpIHsNCiAgICArCQl3YWl0X2Zvcl9jb21wbGV0aW9uKCZl
bHNpby0+dS5lbHNfbG9nby5jb21wKTsNCiAgICArCX0gZWxzZSB7DQogICAgKwkJZ290byBkb25l
Ow0KICAgICsJfQ0KICAgICANCiAgICAgCXNwLT5mcmVlKHNwKTsNCiAgICArZG9uZToNCiAgICAg
CXJldHVybiBydmFsOw0KICAgICB9DQogICAgIA0KICAgIGRpZmYgLS1naXQgYS9kcml2ZXJzL3Nj
c2kvcWxhMnh4eC9xbGFfdGFyZ2V0LmMgYi9kcml2ZXJzL3Njc2kvcWxhMnh4eC9xbGFfdGFyZ2V0
LmMNCiAgICBpbmRleCA2OGMxNDE0M2U1MGUuLjBmMmJjNGNkNTYyZiAxMDA2NDQNCiAgICAtLS0g
YS9kcml2ZXJzL3Njc2kvcWxhMnh4eC9xbGFfdGFyZ2V0LmMNCiAgICArKysgYi9kcml2ZXJzL3Nj
c2kvcWxhMnh4eC9xbGFfdGFyZ2V0LmMNCiAgICBAQCAtOTMyLDcgKzkzMiw3IEBAIHFsdF9zZW5k
X2ZpcnN0X2xvZ28oc3RydWN0IHNjc2lfcWxhX2hvc3QgKnZoYSwgcWx0X3BvcnRfbG9nb190ICps
b2dvKQ0KICAgICANCiAgICAgCW11dGV4X3VubG9jaygmdmhhLT52aGFfdGd0LnRndF9tdXRleCk7
DQogICAgIA0KICAgIC0JcmVzID0gcWxhMjR4eF9lbHNfZGNtZF9pb2NiKHZoYSwgRUxTX0RDTURf
TE9HTywgbG9nby0+aWQpOw0KICAgICsJcmVzID0gcWxhMjR4eF9lbHNfZGNtZF9pb2NiKHZoYSwg
RUxTX0RDTURfTE9HTywgbG9nby0+aWQsIHRydWUpOw0KICAgICANCiAgICAgCW11dGV4X2xvY2so
JnZoYS0+dmhhX3RndC50Z3RfbXV0ZXgpOw0KICAgICAJbGlzdF9kZWwoJmxvZ28tPmxpc3QpOw0K
ICAgIC0tDQogICAgMi4yNC4wDQogICAgDQogICAgDQoNCg=

WARNING: multiple messages have this Message-ID (diff)
From: Quinn Tran <qutran@marvell.com>
To: Mark Harvey <mark.harvey@nutanix.com>,
	Roman Bolshakov <r.bolshakov@yadro.com>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"target-devel@vger.kernel.org" <target-devel@vger.kernel.org>
Cc: "linux@yadro.com" <linux@yadro.com>
Subject: RE: [EXT] [PATCH v2 13/15] scsi: qla2xxx: Add async mode for qla24xx_els_dcmd_iocb
Date: Fri, 22 Nov 2019 17:00:20 +0000	[thread overview]
Message-ID: <BYAPR18MB2759379EFEA3AAAED43CA114D5490@BYAPR18MB2759.namprd18.prod.outlook.com> (raw)
In-Reply-To: <81096D5B-FEC9-4A40-BE7B-ADB8CA1C5CA2@nutanix.com>


From: Mark Harvey <mark.harvey@nutanix.com> 
Sent: Thursday, November 21, 2019 9:05 PM
To: Quinn Tran <qutran@marvell.com>; Roman Bolshakov <r.bolshakov@yadro.com>; linux-scsi@vger.kernel.org; target-devel@vger.kernel.org
Cc: linux@yadro.com
Subject: Re: [EXT] [PATCH v2 13/15] scsi: qla2xxx: Add async mode for qla24xx_els_dcmd_iocb

Would this not result in a memory leak in the 'else' path - skipping sp->free(sp)?

QT: Good point.  This mean the patch is missing qla2x00_els_dcmd_sp_done checking for SRB_WAKEUP_ON_COMP to wake up or free the sp.
  
  -	wait_for_completion(&elsio->u.els_logo.comp);
    +	if (wait) {
    +		wait_for_completion(&elsio->u.els_logo.comp);
    +	} else {
    +		goto done;
    +	}
     
     	sp->free(sp);
    +done:
     	return rval;
     }

On 22/11/19, 9:51 am, "target-devel-owner@vger.kernel.org on behalf of Quinn Tran" <target-devel-owner@vger.kernel.org on behalf of qutran@marvell.com> wrote:

    Looks good.
    
    Acked-by: Quinn Tran <qutran@marvell.com>
    
    
    Regards,
    Quinn Tran
    
    -----Original Message-----
    From: Roman Bolshakov <r.bolshakov@yadro.com> 
    Sent: Wednesday, November 20, 2019 2:27 PM
    To: linux-scsi@vger.kernel.org; target-devel@vger.kernel.org
    Cc: linux@yadro.com; Roman Bolshakov <r.bolshakov@yadro.com>; Quinn Tran <qutran@marvell.com>
    Subject: [EXT] [PATCH v2 13/15] scsi: qla2xxx: Add async mode for qla24xx_els_dcmd_iocb
    
    External Email
    
    ----------------------------------------------------------------------
    qla24xx_els_dcmd_iocb() performs LOGO and might be invoked in contexts where it is prohibited to sleep. The new wait parameter provides a way to use the function in such context, similarly to qla24xx_els_dcmd2_iocb().
    
    Cc: Quinn Tran <qutran@marvell.com>
    Cc: Himanshu Madhani <hmadhani@marvell.com
    Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
    ---
     drivers/scsi/qla2xxx/qla_attr.c   |  2 +-
     drivers/scsi/qla2xxx/qla_gbl.h    |  2 +-
     drivers/scsi/qla2xxx/qla_iocb.c   | 11 +++++++++--
     drivers/scsi/qla2xxx/qla_target.c |  2 +-
     4 files changed, 12 insertions(+), 5 deletions(-)
    
    diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c index 481c05dbea06..35c703ec59ad 100644
    --- a/drivers/scsi/qla2xxx/qla_attr.c
    +++ b/drivers/scsi/qla2xxx/qla_attr.c
    @@ -828,7 +828,7 @@ qla2x00_issue_logo(struct file *filp, struct kobject *kobj,
     
     	ql_log(ql_log_info, vha, 0x70e4, "%s: %d\n", __func__, type);
     
    -	qla24xx_els_dcmd_iocb(vha, ELS_DCMD_LOGO, did);
    +	qla24xx_els_dcmd_iocb(vha, ELS_DCMD_LOGO, did, true);
     	return count;
     }
     
    diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h index 5b163ad85c34..df0f3421e3bb 100644
    --- a/drivers/scsi/qla2xxx/qla_gbl.h
    +++ b/drivers/scsi/qla2xxx/qla_gbl.h
    @@ -43,7 +43,7 @@ extern void qla2x00_clear_loop_id(fc_port_t *fcport);  extern int qla2x00_fabric_login(scsi_qla_host_t *, fc_port_t *, uint16_t *);  extern int qla2x00_local_device_login(scsi_qla_host_t *, fc_port_t *);
     
    -extern int qla24xx_els_dcmd_iocb(scsi_qla_host_t *, int, port_id_t);
    +extern int qla24xx_els_dcmd_iocb(scsi_qla_host_t *, int, port_id_t, 
    +bool);
     extern int qla24xx_els_dcmd2_iocb(scsi_qla_host_t *, int, fc_port_t *, bool);  extern void qla2x00_els_dcmd2_free(scsi_qla_host_t *vha,
     				   struct els_plogi *els_plogi);
    diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c index 53ccbd6b71ed..12b37b711ae8 100644
    --- a/drivers/scsi/qla2xxx/qla_iocb.c
    +++ b/drivers/scsi/qla2xxx/qla_iocb.c
    @@ -2562,7 +2562,7 @@ static void qla2x00_els_dcmd_sp_done(srb_t *sp, int res)
     
     int
     qla24xx_els_dcmd_iocb(scsi_qla_host_t *vha, int els_opcode,
    -    port_id_t remote_did)
    +    port_id_t remote_did, bool wait)
     {
     	srb_t *sp;
     	fc_port_t *fcport = NULL;
    @@ -2601,6 +2601,8 @@ qla24xx_els_dcmd_iocb(scsi_qla_host_t *vha, int els_opcode,
     	elsio->timeout = qla2x00_els_dcmd_iocb_timeout;
     	qla2x00_init_timer(sp, ELS_DCMD_TIMEOUT);
     	init_completion(&sp->u.iocb_cmd.u.els_logo.comp);
    +	if (wait)
    +		sp->flags = SRB_WAKEUP_ON_COMP;
     	sp->done = qla2x00_els_dcmd_sp_done;
     	sp->free = qla2x00_els_dcmd_sp_free;
     
    @@ -2637,9 +2639,14 @@ qla24xx_els_dcmd_iocb(scsi_qla_host_t *vha, int els_opcode,
     	    sp->name, sp->handle, fcport->loop_id, fcport->d_id.b.domain,
     	    fcport->d_id.b.area, fcport->d_id.b.al_pa);
     
    -	wait_for_completion(&elsio->u.els_logo.comp);
    +	if (wait) {
    +		wait_for_completion(&elsio->u.els_logo.comp);
    +	} else {
    +		goto done;
    +	}
     
     	sp->free(sp);
    +done:
     	return rval;
     }
     
    diff --git a/drivers/scsi/qla2xxx/qla_target.c b/drivers/scsi/qla2xxx/qla_target.c
    index 68c14143e50e..0f2bc4cd562f 100644
    --- a/drivers/scsi/qla2xxx/qla_target.c
    +++ b/drivers/scsi/qla2xxx/qla_target.c
    @@ -932,7 +932,7 @@ qlt_send_first_logo(struct scsi_qla_host *vha, qlt_port_logo_t *logo)
     
     	mutex_unlock(&vha->vha_tgt.tgt_mutex);
     
    -	res = qla24xx_els_dcmd_iocb(vha, ELS_DCMD_LOGO, logo->id);
    +	res = qla24xx_els_dcmd_iocb(vha, ELS_DCMD_LOGO, logo->id, true);
     
     	mutex_lock(&vha->vha_tgt.tgt_mutex);
     	list_del(&logo->list);
    --
    2.24.0
    
    


  reply	other threads:[~2019-11-22 17:00 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-20 22:27 [PATCH v2 00/15] scsi: qla2xxx: Bug fixes Roman Bolshakov
2019-11-20 22:27 ` Roman Bolshakov
2019-11-20 22:27 ` [PATCH v2 01/15] scsi: qla2xxx: Ignore NULL pointer in tcm_qla2xxx_free_mcmd Roman Bolshakov
2019-11-20 22:27   ` Roman Bolshakov
2019-11-20 22:27 ` [PATCH v2 02/15] scsi: qla2xxx: Initialize free_work before flushing it Roman Bolshakov
2019-11-20 22:27   ` Roman Bolshakov
2019-11-20 22:27 ` [PATCH v2 03/15] scsi: qla2xxx: Drop superfluous INIT_WORK of del_work Roman Bolshakov
2019-11-20 22:27   ` Roman Bolshakov
2019-11-20 22:27 ` [PATCH v2 04/15] scsi: qla2xxx: Change discovery state before PLOGI Roman Bolshakov
2019-11-20 22:27   ` Roman Bolshakov
2019-11-20 22:27 ` [PATCH v2 05/15] scsi: qla2xxx: Allow PLOGI in target mode Roman Bolshakov
2019-11-20 22:27   ` Roman Bolshakov
2019-11-20 22:52   ` [EXT] " Quinn Tran
2019-11-21 16:38     ` Himanshu Madhani
2019-11-21 16:38       ` Himanshu Madhani
2019-11-20 22:27 ` [PATCH v2 06/15] scsi: qla2xxx: Don't call qlt_async_event twice Roman Bolshakov
2019-11-20 22:27   ` Roman Bolshakov
2019-11-21 15:43   ` Himanshu Madhani
2019-11-21 15:43     ` Himanshu Madhani
2019-11-20 22:27 ` [PATCH v2 07/15] scsi: qla2xxx: Fix PLOGI payload and ELS IOCB dump length Roman Bolshakov
2019-11-20 22:27   ` Roman Bolshakov
2019-11-21 16:39   ` [EXT] " Himanshu Madhani
2019-11-21 16:39     ` Himanshu Madhani
2019-11-20 22:27 ` [PATCH v2 08/15] scsi: qla2xxx: Configure local loop for N2N target Roman Bolshakov
2019-11-20 22:27   ` Roman Bolshakov
2019-11-20 23:06   ` [EXT] " Quinn Tran
2019-11-21 16:39   ` Himanshu Madhani
2019-11-21 16:39     ` Himanshu Madhani
2019-11-20 22:27 ` [PATCH v2 09/15] scsi: qla2xxx: Send Notify ACK after N2N PLOGI Roman Bolshakov
2019-11-20 22:27   ` Roman Bolshakov
2019-11-20 23:53   ` [EXT] " Quinn Tran
2019-11-21 16:40   ` Himanshu Madhani
2019-11-21 16:40     ` Himanshu Madhani
2019-11-20 22:27 ` [PATCH v2 10/15] scsi: qla2xxx: Don't defer relogin unconditonally Roman Bolshakov
2019-11-20 22:27   ` Roman Bolshakov
2019-11-21  0:03   ` [EXT] " Quinn Tran
2019-11-20 22:27 ` [PATCH v2 11/15] scsi: qla2xxx: Ignore PORT UPDATE after N2N PLOGI Roman Bolshakov
2019-11-20 22:27   ` Roman Bolshakov
2019-11-20 22:27 ` [PATCH v2 12/15] scsi: qla2xxx: Use explicit LOGO in target mode Roman Bolshakov
2019-11-20 22:27   ` Roman Bolshakov
2019-11-23  4:58   ` kbuild test robot
2019-11-23  4:58     ` kbuild test robot
2019-11-23  4:58     ` kbuild test robot
2019-11-20 22:27 ` [PATCH v2 13/15] scsi: qla2xxx: Add async mode for qla24xx_els_dcmd_iocb Roman Bolshakov
2019-11-20 22:27   ` Roman Bolshakov
2019-11-21 22:50   ` [EXT] " Quinn Tran
2019-11-22  5:04     ` Mark Harvey
2019-11-22  5:04       ` Mark Harvey
2019-11-22 17:00       ` Quinn Tran [this message]
2019-11-22 17:00         ` Quinn Tran
2019-11-24 19:15       ` Roman Bolshakov
2019-11-24 19:15         ` Roman Bolshakov
2019-11-20 22:27 ` [PATCH v2 14/15] scsi: qla2xxx: Add debug dump of LOGO payload and ELS IOCB Roman Bolshakov
2019-11-20 22:27   ` Roman Bolshakov
2019-11-21 16:37   ` Himanshu Madhani
2019-11-21 16:37     ` Himanshu Madhani
2019-11-21 22:52   ` [EXT] " Quinn Tran
2019-11-20 22:27 ` [PATCH v2 15/15] scsi: qla2xxx: Handle ABTS according to FCP spec for logged out ports Roman Bolshakov
2019-11-20 22:27   ` Roman Bolshakov
2019-11-23  5:57   ` kbuild test robot
2019-11-23  5:57     ` kbuild test robot
2019-11-23  5:57     ` kbuild test robot
2019-11-22  9:14 ` [PATCH v2 00/15] scsi: qla2xxx: Bug fixes Hannes Reinecke
2019-11-22  9:14   ` Hannes Reinecke
2019-11-22 21:36   ` Martin Wilck
2019-11-22 21:36     ` Martin Wilck
2019-11-24 18:31     ` Roman Bolshakov
2019-11-24 18:31       ` Roman Bolshakov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BYAPR18MB2759379EFEA3AAAED43CA114D5490@BYAPR18MB2759.namprd18.prod.outlook.com \
    --to=qutran@marvell.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux@yadro.com \
    --cc=mark.harvey@nutanix.com \
    --cc=r.bolshakov@yadro.com \
    --cc=target-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.