summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla4xxx
diff options
context:
space:
mode:
authorVikas Chaudhary <vikas.chaudhary@qlogic.com>2010-07-10 11:19:01 +0200
committerJames Bottomley <James.Bottomley@suse.de>2010-07-27 19:04:33 +0200
commit363863256a711819130ea4ac210ee001bc80c3b2 (patch)
tree653c3f77b070fdfdf86a217bdae8a00aadb5fb39 /drivers/scsi/qla4xxx
parent[SCSI] qla4xxx: set driver ddb state correctly in process_ddb_changed (diff)
downloadlinux-363863256a711819130ea4ac210ee001bc80c3b2.tar.xz
linux-363863256a711819130ea4ac210ee001bc80c3b2.zip
[SCSI] qla4xxx: unblock iscsi session after setting ddb state online.
Once the device goes *missing*, driver blocks the session ie iscsi_block_session() to stall the I/O. So after device comes back *online*, driver needs to unblock the session ie iscsi_unblock_session(), else I/Os will fail even if ddb_state is ONLINE. Signed-off-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: Ravi Anand <ravi.anand@qlogic.com> Reviewed-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/qla4xxx')
-rw-r--r--drivers/scsi/qla4xxx/ql4_init.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_init.c b/drivers/scsi/qla4xxx/ql4_init.c
index 8947743e54d7..16565226f55c 100644
--- a/drivers/scsi/qla4xxx/ql4_init.c
+++ b/drivers/scsi/qla4xxx/ql4_init.c
@@ -993,6 +993,7 @@ int qla4xxx_reinitialize_ddb_list(struct scsi_qla_host *ha)
DEBUG2(printk ("scsi%ld: %s: ddb index [%d] marked "
"ONLINE\n", ha->host_no, __func__,
ddb_entry->fw_ddb_index));
+ iscsi_unblock_session(ddb_entry->sess);
} else if (atomic_read(&ddb_entry->state) == DDB_STATE_ONLINE)
qla4xxx_mark_device_missing(ha, ddb_entry);
}