aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libiscsi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/libiscsi.c')
-rw-r--r--drivers/scsi/libiscsi.c8
1 files changed, 5 insertions, 3 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);