diff options
author | Vikas Chaudhary <vikas.chaudhary@qlogic.com> | 2010-07-10 05:19:01 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-07-27 13:04:33 -0400 |
commit | 363863256a711819130ea4ac210ee001bc80c3b2 (patch) | |
tree | 653c3f77b070fdfdf86a217bdae8a00aadb5fb39 | |
parent | e349fa35363fa96f11addecb67e0f8a6edfb0e3a (diff) |
[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>
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_init.c | 1 |
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) | |||
993 | DEBUG2(printk ("scsi%ld: %s: ddb index [%d] marked " | 993 | DEBUG2(printk ("scsi%ld: %s: ddb index [%d] marked " |
994 | "ONLINE\n", ha->host_no, __func__, | 994 | "ONLINE\n", ha->host_no, __func__, |
995 | ddb_entry->fw_ddb_index)); | 995 | ddb_entry->fw_ddb_index)); |
996 | iscsi_unblock_session(ddb_entry->sess); | ||
996 | } else if (atomic_read(&ddb_entry->state) == DDB_STATE_ONLINE) | 997 | } else if (atomic_read(&ddb_entry->state) == DDB_STATE_ONLINE) |
997 | qla4xxx_mark_device_missing(ha, ddb_entry); | 998 | qla4xxx_mark_device_missing(ha, ddb_entry); |
998 | } | 999 | } |