aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_isr.c
diff options
context:
space:
mode:
authorAndrew Vasquez <andrew.vasquez@qlogic.com>2010-05-28 15:08:19 -0700
committerJames Bottomley <James.Bottomley@suse.de>2010-07-27 12:01:21 -0500
commit6ac5260850841eb4055811a68ff47d658ebe9a59 (patch)
tree00e6bc407c4732ffb709ba9de7d8c743b9520194 /drivers/scsi/qla2xxx/qla_isr.c
parent[SCSI] qla2xxx: Correct use-after-free oops seen during EH-abort. (diff)
downloadlinux-dev-6ac5260850841eb4055811a68ff47d658ebe9a59.tar.xz
linux-dev-6ac5260850841eb4055811a68ff47d658ebe9a59.zip
[SCSI] qla2xxx: Correct async-srb issues.
* hold the hardware_lock throughout the duration of ctx-sp timeout handling -- could result in use-after-free oops. * retry a timed-out login-request. * done() routines are called with the hardware-lock held, issue qla2x00_mark_device_lost() with proper 'defer' flag. * FCP2 capabilities are only relevant to target devices. Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to '')
-rw-r--r--drivers/scsi/qla2xxx/qla_isr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c
index bc82ba99f251..912befdceb16 100644
--- a/drivers/scsi/qla2xxx/qla_isr.c
+++ b/drivers/scsi/qla2xxx/qla_isr.c
@@ -949,7 +949,7 @@ qla2x00_mbx_iocb_entry(scsi_qla_host_t *vha, struct req_que *req,
fcport->port_type = FCT_TARGET;
if (le16_to_cpu(mbx->mb1) & BIT_0)
fcport->port_type = FCT_INITIATOR;
- if (le16_to_cpu(mbx->mb1) & BIT_1)
+ else if (le16_to_cpu(mbx->mb1) & BIT_1)
fcport->flags |= FCF_FCP2_DEVICE;
}
goto logio_done;