aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_error.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2010-05-12 19:20:04 -0400
committerThomas Gleixner <tglx@linutronix.de>2010-05-12 19:20:04 -0400
commit1540c84b5ed657ed71dce06915bba461e6b09574 (patch)
treea449dc166800a1b0c429bb038bfc974e577eaf72 /drivers/scsi/scsi_error.c
parent1a3a403aa98b0ccabeb12abd7da90d33250ea36b (diff)
parent4640b4e7d9919e9629fe8456df94f71658431ef9 (diff)
Merge branch '2.6.33.4' into rt/2.6.33
Conflicts: Makefile Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'drivers/scsi/scsi_error.c')
-rw-r--r--drivers/scsi/scsi_error.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index 08ed506e6059..e46155b006dc 100644
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -301,7 +301,20 @@ static int scsi_check_sense(struct scsi_cmnd *scmd)
301 if (scmd->device->allow_restart && 301 if (scmd->device->allow_restart &&
302 (sshdr.asc == 0x04) && (sshdr.ascq == 0x02)) 302 (sshdr.asc == 0x04) && (sshdr.ascq == 0x02))
303 return FAILED; 303 return FAILED;
304 return SUCCESS; 304
305 if (blk_barrier_rq(scmd->request))
306 /*
307 * barrier requests should always retry on UA
308 * otherwise block will get a spurious error
309 */
310 return NEEDS_RETRY;
311 else
312 /*
313 * for normal (non barrier) commands, pass the
314 * UA upwards for a determination in the
315 * completion functions
316 */
317 return SUCCESS;
305 318
306 /* these three are not supported */ 319 /* these three are not supported */
307 case COPY_ABORTED: 320 case COPY_ABORTED: