On Thursday 06 July 2006 16:51, Mark Lord wrote: >.. > All drivers, all architectures. Dunno about 2.6.18-rc1 yet. > > This patch (below) appears to fix it, but I really need your opinion > on its correctness. My apologies in advance for the likely bad whitespace, > as I don't currently have access to my usual patch-mailer at present. Whoops.. got the wrong function when regenerating the patch. Here it is again, on the correct lines: Enable libata-scsi to report correct sense data on errors. Signed-off-by: Mark Lord <mlord@xxxxxxxxx> --- --- linux/drivers/scsi/libata-scsi.c.orig 2006-07-06 17:09:54.000000000 -0400 +++ linux/drivers/scsi/libata-scsi.c 2006-07-06 17:17:43.000000000 -0400 @@ -667,6 +667,13 @@ qc->ap->ops->tf_read(qc->ap, tf); /* + * Restore the error bit, which got cleared when the + * interrupt handler first read the ata_status. + */ + if (qc->err_mask & AC_ERR_DEV) + tf->command |= ATA_ERR; + + /* * Use ata_to_sense_error() to map status register bits * onto sense key, asc & ascq. */ - : send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html