aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
-rw-r--r--drivers/scsi/scsi_lib.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
index f3c40898fc7d..90c94da8baa4 100644
--- a/drivers/scsi/scsi_lib.c
+++ b/drivers/scsi/scsi_lib.c
@@ -897,8 +897,10 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes)
897 if (driver_byte(result) & DRIVER_SENSE) 897 if (driver_byte(result) & DRIVER_SENSE)
898 scsi_print_sense("", cmd); 898 scsi_print_sense("", cmd);
899 } 899 }
900 blk_end_request_all(req, -EIO); 900 if (blk_end_request_err(req, -EIO))
901 scsi_next_command(cmd); 901 scsi_requeue_command(q, cmd);
902 else
903 scsi_next_command(cmd);
902 break; 904 break;
903 case ACTION_REPREP: 905 case ACTION_REPREP:
904 /* Unprep the request and put it back at the head of the queue. 906 /* Unprep the request and put it back at the head of the queue.