diff options
author | Andrew Vasquez <andrew.vasquez@qlogic.com> | 2010-05-28 15:08:19 -0700 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-07-27 12:01:21 -0500 |
commit | 6ac5260850841eb4055811a68ff47d658ebe9a59 (patch) | |
tree | 00e6bc407c4732ffb709ba9de7d8c743b9520194 /drivers/scsi/qla2xxx/qla_isr.c | |
parent | 083a469db4ecf3b286a96b5b722c37fc1affe0be (diff) | |
download | talos-obmc-linux-6ac5260850841eb4055811a68ff47d658ebe9a59.tar.gz talos-obmc-linux-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 'drivers/scsi/qla2xxx/qla_isr.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_isr.c | 2 |
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; |