From: Quinn Tran Date: Mon, 4 Dec 2017 22:44:57 +0000 (-0800) Subject: scsi: qla2xxx: Fix gpnid error processing X-Git-Tag: v4.16-rc1~140^2~240 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=22e786ea47f8795c561e1a01b6a66bb2cae2fc20;p=tomoyo%2Ftomoyo-test1.git scsi: qla2xxx: Fix gpnid error processing Stop GPNID command from advancing if command has failed. Fixes: 726b85487067d ("qla2xxx: Add framework for async fabric discovery") Cc: # 4.10+ Signed-off-by: Quinn Tran Signed-off-by: Himanshu Madhani Reviewed-by: Hannes Reinecke Signed-off-by: Martin K. Petersen --- diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c index bc3db6abc9a0..ddc69d36877e 100644 --- a/drivers/scsi/qla2xxx/qla_gs.c +++ b/drivers/scsi/qla2xxx/qla_gs.c @@ -3211,6 +3211,11 @@ static void qla2x00_async_gpnid_sp_done(void *s, int res) sp->name, res, ct_req->req.port_id.port_id, ct_rsp->rsp.gpn_id.port_name); + if (res) { + sp->free(sp); + return; + } + memset(&ea, 0, sizeof(ea)); memcpy(ea.port_name, ct_rsp->rsp.gpn_id.port_name, WWN_SIZE); ea.sp = sp;