lkml.org 
[lkml]   [2009]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 2.6.29 regression: ATA bus errors on resume
Niel Lambrechts wrote:
> If you send some patches I'll make every effort to test, it beats having
> to re-install, my installation is just too customized. :)

First, let's make sure we aren't balking up the wrong tree. Can you
please apply the attached patch and report the kernel log?

Thanks.

--
tejun
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index 0c2c73b..d92f98c 100644
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -1223,19 +1223,31 @@ static void scsi_eh_offline_sdevs(struct list_head *work_q,
*/
int scsi_noretry_cmd(struct scsi_cmnd *scmd)
{
+ printk("XXX scmd->result=0x%x ff_t=%d ff_dev=%d ff_drv=%d\n",
+ scmd->result, blk_failfast_transport(scmd->request),
+ blk_failfast_dev(scmd->request),
+ blk_failfast_driver(scmd->request));
+
switch (host_byte(scmd->result)) {
case DID_OK:
+ printk("XXX DID_OK\n");
break;
case DID_BUS_BUSY:
+ printk("XXX DID_BUS_BUSY, returning ff_t\n");
return blk_failfast_transport(scmd->request);
case DID_PARITY:
+ printk("XXX DID_PARITY, returning ff_dev\n");
return blk_failfast_dev(scmd->request);
case DID_ERROR:
+ printk("XXX DID_ERROR\n");
if (msg_byte(scmd->result) == COMMAND_COMPLETE &&
- status_byte(scmd->result) == RESERVATION_CONFLICT)
+ status_byte(scmd->result) == RESERVATION_CONFLICT) {
+ printk("XXX RESERVATION_CONFLICT\n");
return 0;
+ }
/* fall through */
case DID_SOFT_ERROR:
+ printk("XXX DID_SOFT_ERROR, returning ff_drv\n");
return blk_failfast_driver(scmd->request);
}

@@ -1245,9 +1257,11 @@ int scsi_noretry_cmd(struct scsi_cmnd *scmd)
* assume caller has checked sense and determinted
* the check condition was retryable.
*/
+ printk("XXX CHECK_CONDITION, returning ff_dev\n");
return blk_failfast_dev(scmd->request);
}

+ printk("XXX returning 0\n");
return 0;
}
\
 
 \ /
  Last update: 2009-05-26 15:37    [W:0.072 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site