summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_gs.c
diff options
context:
space:
mode:
authorQuinn Tran <quinn.tran@cavium.com>2018-08-31 11:24:36 -0700
committerMartin K. Petersen <martin.petersen@oracle.com>2018-09-11 20:28:07 -0400
commit8d9bf0a9a268f7ca0b811d6e6a1fc783afa5c746 (patch)
treef69d61f20c50dde6af34b5fb3cd66acbe39973e5 /drivers/scsi/qla2xxx/qla_gs.c
parent9ba1cb25c151de306d64647e545d34af64f30c19 (diff)
downloadlinux-8d9bf0a9a268f7ca0b811d6e6a1fc783afa5c746.tar.gz
linux-8d9bf0a9a268f7ca0b811d6e6a1fc783afa5c746.tar.bz2
linux-8d9bf0a9a268f7ca0b811d6e6a1fc783afa5c746.zip
scsi: qla2xxx: Fix iIDMA error
When switch responds with error for Get Port Speed Command (GPSC), driver should not proceed with telling FW about the speed of the remote port. Signed-off-by: Quinn Tran <quinn.tran@cavium.com> Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_gs.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_gs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/scsi/qla2xxx/qla_gs.c b/drivers/scsi/qla2xxx/qla_gs.c
index 85cbe59b4f58..902106f97020 100644
--- a/drivers/scsi/qla2xxx/qla_gs.c
+++ b/drivers/scsi/qla2xxx/qla_gs.c
@@ -3272,7 +3272,7 @@ static void qla24xx_async_gpsc_sp_done(void *s, int res)
ql_dbg(ql_dbg_disc, vha, 0x2019,
"GPSC command unsupported, disabling query.\n");
ha->flags.gpsc_supported = 0;
- res = QLA_SUCCESS;
+ goto done;
}
} else {
switch (be16_to_cpu(ct_rsp->rsp.gpsc.speed)) {
@@ -3305,7 +3305,6 @@ static void qla24xx_async_gpsc_sp_done(void *s, int res)
be16_to_cpu(ct_rsp->rsp.gpsc.speeds),
be16_to_cpu(ct_rsp->rsp.gpsc.speed));
}
-done:
memset(&ea, 0, sizeof(ea));
ea.event = FCME_GPSC_DONE;
ea.rc = res;
@@ -3313,6 +3312,7 @@ done:
ea.sp = sp;
qla2x00_fcport_event_handler(vha, &ea);
+done:
sp->free(sp);
}