|
@@ -1487,7 +1487,10 @@ int qla4xxx_process_ddb_changed(struct scsi_qla_host *ha, uint32_t fw_ddb_index,
|
|
|
ddb_entry->fw_ddb_device_state, state, fw_ddb_index));
|
|
|
if (old_fw_ddb_device_state == state &&
|
|
|
state == DDB_DS_SESSION_ACTIVE) {
|
|
|
- /* Do nothing, state not changed. */
|
|
|
+ if (atomic_read(&ddb_entry->state) != DDB_STATE_ONLINE) {
|
|
|
+ atomic_set(&ddb_entry->state, DDB_STATE_ONLINE);
|
|
|
+ iscsi_unblock_session(ddb_entry->sess);
|
|
|
+ }
|
|
|
return QLA_SUCCESS;
|
|
|
}
|
|
|
|