summaryrefslogtreecommitdiff
path: root/drivers/scsi/qla2xxx/qla_attr.c
diff options
context:
space:
mode:
authorGiridhar Malavali <giridhar.malavali@qlogic.com>2010-10-15 22:27:49 +0400
committerJames Bottomley <James.Bottomley@suse.de>2010-10-26 01:04:12 +0400
commit38170fa8e66bb75fe806bdc91657732aef0eae90 (patch)
tree1130ec0eede771d40b82ffa58cd1216faae0ffaa /drivers/scsi/qla2xxx/qla_attr.c
parent9dac0d9a93095ff5a27b975af30c25186bdcfeab (diff)
downloadlinux-38170fa8e66bb75fe806bdc91657732aef0eae90.tar.xz
[SCSI] qla2xxx: Avoid depending on SCSI host_lock in queuecommand function.
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: Madhuranath Iyengar <Madhu.Iyengar@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_attr.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_attr.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c
index a9ceb39751a1..bc8194f74625 100644
--- a/drivers/scsi/qla2xxx/qla_attr.c
+++ b/drivers/scsi/qla2xxx/qla_attr.c
@@ -1538,6 +1538,10 @@ qla2x00_dev_loss_tmo_callbk(struct fc_rport *rport)
if (!fcport)
return;
+ /* Now that the rport has been deleted, set the fcport state to
+ FCS_DEVICE_DEAD */
+ atomic_set(&fcport->state, FCS_DEVICE_DEAD);
+
/*
* Transport has effectively 'deleted' the rport, clear
* all local references.
@@ -1547,10 +1551,6 @@ qla2x00_dev_loss_tmo_callbk(struct fc_rport *rport)
*((fc_port_t **)rport->dd_data) = NULL;
spin_unlock_irq(host->host_lock);
- /* Now that the rport has been deleted, set the fcport state to
- FCS_DEVICE_DEAD */
- atomic_set(&fcport->state, FCS_DEVICE_DEAD);
-
if (test_bit(ABORT_ISP_ACTIVE, &fcport->vha->dpc_flags))
return;