aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/libiscsi.c8
-rw-r--r--drivers/scsi/qla4xxx/ql4_isr.c4
-rw-r--r--drivers/scsi/scsi_transport_iscsi.c4
3 files changed, 9 insertions, 7 deletions
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
index 521dbf7e521d..0e8f26baca6e 100644
--- a/drivers/scsi/libiscsi.c
+++ b/drivers/scsi/libiscsi.c
@@ -1200,7 +1200,7 @@ int iscsi_queuecommand(struct scsi_cmnd *sc, void (*done)(struct scsi_cmnd *))
1200 goto reject; 1200 goto reject;
1201 case ISCSI_STATE_RECOVERY_FAILED: 1201 case ISCSI_STATE_RECOVERY_FAILED:
1202 reason = FAILURE_SESSION_RECOVERY_TIMEOUT; 1202 reason = FAILURE_SESSION_RECOVERY_TIMEOUT;
1203 sc->result = DID_NO_CONNECT << 16; 1203 sc->result = DID_TRANSPORT_FAILFAST << 16;
1204 break; 1204 break;
1205 case ISCSI_STATE_TERMINATE: 1205 case ISCSI_STATE_TERMINATE:
1206 reason = FAILURE_SESSION_TERMINATE; 1206 reason = FAILURE_SESSION_TERMINATE;
@@ -2333,8 +2333,10 @@ static void iscsi_start_session_recovery(struct iscsi_session *session,
2333 * flush queues. 2333 * flush queues.
2334 */ 2334 */
2335 spin_lock_bh(&session->lock); 2335 spin_lock_bh(&session->lock);
2336 fail_all_commands(conn, -1, 2336 if (STOP_CONN_RECOVER)
2337 STOP_CONN_RECOVER ? DID_BUS_BUSY : DID_ERROR); 2337 fail_all_commands(conn, -1, DID_TRANSPORT_DISRUPTED);
2338 else
2339 fail_all_commands(conn, -1, DID_ERROR);
2338 flush_control_queues(session, conn); 2340 flush_control_queues(session, conn);
2339 spin_unlock_bh(&session->lock); 2341 spin_unlock_bh(&session->lock);
2340 mutex_unlock(&session->eh_mutex); 2342 mutex_unlock(&session->eh_mutex);
diff --git a/drivers/scsi/qla4xxx/ql4_isr.c b/drivers/scsi/qla4xxx/ql4_isr.c
index a91a57c57bff..799120fcb9be 100644
--- a/drivers/scsi/qla4xxx/ql4_isr.c
+++ b/drivers/scsi/qla4xxx/ql4_isr.c
@@ -139,7 +139,7 @@ static void qla4xxx_status_entry(struct scsi_qla_host *ha,
139 ha->host_no, cmd->device->channel, 139 ha->host_no, cmd->device->channel,
140 cmd->device->id, cmd->device->lun)); 140 cmd->device->id, cmd->device->lun));
141 141
142 cmd->result = DID_BUS_BUSY << 16; 142 cmd->result = DID_TRANSPORT_DISRUPTED << 16;
143 143
144 /* 144 /*
145 * Mark device missing so that we won't continue to send 145 * Mark device missing so that we won't continue to send
@@ -243,7 +243,7 @@ static void qla4xxx_status_entry(struct scsi_qla_host *ha,
243 if (atomic_read(&ddb_entry->state) == DDB_STATE_ONLINE) 243 if (atomic_read(&ddb_entry->state) == DDB_STATE_ONLINE)
244 qla4xxx_mark_device_missing(ha, ddb_entry); 244 qla4xxx_mark_device_missing(ha, ddb_entry);
245 245
246 cmd->result = DID_BUS_BUSY << 16; 246 cmd->result = DID_TRANSPORT_DISRUPTED << 16;
247 break; 247 break;
248 248
249 case SCS_QUEUE_FULL: 249 case SCS_QUEUE_FULL:
diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c
index 0ce5f7cdfe2a..cbaae48f47ed 100644
--- a/drivers/scsi/scsi_transport_iscsi.c
+++ b/drivers/scsi/scsi_transport_iscsi.c
@@ -374,10 +374,10 @@ int iscsi_session_chkready(struct iscsi_cls_session *session)
374 err = 0; 374 err = 0;
375 break; 375 break;
376 case ISCSI_SESSION_FAILED: 376 case ISCSI_SESSION_FAILED:
377 err = DID_IMM_RETRY << 16; 377 err = DID_TRANSPORT_DISRUPTED << 16;
378 break; 378 break;
379 case ISCSI_SESSION_FREE: 379 case ISCSI_SESSION_FREE:
380 err = DID_NO_CONNECT << 16; 380 err = DID_TRANSPORT_FAILFAST << 16;
381 break; 381 break;
382 default: 382 default:
383 err = DID_NO_CONNECT << 16; 383 err = DID_NO_CONNECT << 16;