aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/scsi.c21
-rw-r--r--drivers/scsi/scsi_lib.c2
-rw-r--r--drivers/scsi/scsi_priv.h1
3 files changed, 1 insertions, 23 deletions
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
index 24cffd98ee63..f33e2eb9f1b9 100644
--- a/drivers/scsi/scsi.c
+++ b/drivers/scsi/scsi.c
@@ -673,27 +673,6 @@ void __scsi_done(struct scsi_cmnd *cmd)
673} 673}
674 674
675/* 675/*
676 * Function: scsi_retry_command
677 *
678 * Purpose: Send a command back to the low level to be retried.
679 *
680 * Notes: This command is always executed in the context of the
681 * bottom half handler, or the error handler thread. Low
682 * level drivers should not become re-entrant as a result of
683 * this.
684 */
685int scsi_retry_command(struct scsi_cmnd *cmd)
686{
687 /*
688 * Zero the sense information from the last time we tried
689 * this command.
690 */
691 memset(cmd->sense_buffer, 0, sizeof(cmd->sense_buffer));
692
693 return scsi_queue_insert(cmd, SCSI_MLQUEUE_EH_RETRY);
694}
695
696/*
697 * Function: scsi_finish_command 676 * Function: scsi_finish_command
698 * 677 *
699 * Purpose: Pass command off to upper layer for finishing of I/O 678 * Purpose: Pass command off to upper layer for finishing of I/O
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index f02f48a882a9..503f09c2f05f 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -1400,7 +1400,7 @@ static void scsi_softirq_done(struct request *rq)
1400 scsi_finish_command(cmd); 1400 scsi_finish_command(cmd);
1401 break; 1401 break;
1402 case NEEDS_RETRY: 1402 case NEEDS_RETRY:
1403 scsi_retry_command(cmd); 1403 scsi_queue_insert(cmd, SCSI_MLQUEUE_EH_RETRY);
1404 break; 1404 break;
1405 case ADD_TO_MLQUEUE: 1405 case ADD_TO_MLQUEUE:
1406 scsi_queue_insert(cmd, SCSI_MLQUEUE_DEVICE_BUSY); 1406 scsi_queue_insert(cmd, SCSI_MLQUEUE_DEVICE_BUSY);
diff --git a/drivers/scsi/scsi_priv.h b/drivers/scsi/scsi_priv.h
index f458c2f686d2..d4faa19609d9 100644
--- a/drivers/scsi/scsi_priv.h
+++ b/drivers/scsi/scsi_priv.h
@@ -28,7 +28,6 @@ extern int scsi_dispatch_cmd(struct scsi_cmnd *cmd);
28extern int scsi_setup_command_freelist(struct Scsi_Host *shost); 28extern int scsi_setup_command_freelist(struct Scsi_Host *shost);
29extern void scsi_destroy_command_freelist(struct Scsi_Host *shost); 29extern void scsi_destroy_command_freelist(struct Scsi_Host *shost);
30extern void __scsi_done(struct scsi_cmnd *cmd); 30extern void __scsi_done(struct scsi_cmnd *cmd);
31extern int scsi_retry_command(struct scsi_cmnd *cmd);
32#ifdef CONFIG_SCSI_LOGGING 31#ifdef CONFIG_SCSI_LOGGING
33void scsi_log_send(struct scsi_cmnd *cmd); 32void scsi_log_send(struct scsi_cmnd *cmd);
34void scsi_log_completion(struct scsi_cmnd *cmd, int disposition); 33void scsi_log_completion(struct scsi_cmnd *cmd, int disposition);