Re: HSM violations from ATA PACKET cmd ABRT errors in initial comms with LG GH22 SATA DVDRW

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tejun Heo wrote:
Hello, Mikael.

On 01/04/2010 06:36 AM, Mikael Pettersson wrote:
I've looked at the available AC_ERR_ values and how they're treated by
libata-eh, and to avoid resets but allow for retries it seems that one
should use AC_ERR_OTHER, or possibly AC_ERR_DEV, or possibly no AC_ERR_
at all (i.e., zero). So please first try the patch below. If it doesn't
eliminate the reset loop, change the AC_ERR_OTHER to AC_ERR_DEV and try
again. And if that one still causes reset loops, try a plain 0.

/Mikael

--- linux-2.6.32/drivers/ata/sata_promise.c.~1~	2009-12-03 12:38:32.000000000 +0100
+++ linux-2.6.32/drivers/ata/sata_promise.c	2010-01-03 22:08:08.000000000 +0100
@@ -862,7 +862,7 @@ static void pdc_error_intr(struct ata_po
 	if (port_status & PDC_DRIVE_ERR)
 		ac_err_mask |= AC_ERR_DEV;
 	if (port_status & (PDC_OVERRUN_ERR | PDC_UNDERRUN_ERR))
-		ac_err_mask |= AC_ERR_HSM;
+		ac_err_mask |= AC_ERR_OTHER; /* or AC_ERR_DEV, or zero */

I think AC_ERR_OTHER can still be too much.  AC_ERR_* bits should only
be set when the command failed for that reason.  Here, underrun is

Overruns from my port status log, not underruns?
port_status 0x20280000, 0x2020, (Data Transfer Overrun Error & Target Device Fault)?
expected, so not really an error condition.  But, for example, under
or overrun for an ATA R/W command should trigger HSM failure.  I think
the above error detection logic needs to be improved a bit.

Well I generally don't feel comfortable with any unknown state output EHs, too, but if ata spec conformant, we're fine, aren't we?

y
tom
--
To unsubscribe from this list: 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

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux