Re: [PATCH 3/3] faster workaround

From: Jeff Garzik
Date: Thu Oct 11 2007 - 10:59:23 EST


Alan Cox wrote:
The problem is that the 3112 generates Data FIS's of a size other than a multiple of 512 bytes. Spec-legal, but exposed firmware bugs in many early SATA drives. Early Seagate hard drives choked when the formula (sector%15)==1 was satisfied (or something along those lines).

And the 3114 is the same ?

3114 should not be affected by this problem (see below).

Most likely we are led down this road because the 'slow_down' module parameter has an excellent capacity for hiding all manner of problems.

As a tangent from this thread, this is why I was OK with adding the libata.dma even for SATA. Sometimes knobs are found useful by users, though perhaps not its original intended use. Sometimes masking a hardware problem can help you get through the rest of your day on hold with vendor support :)


2) Once we identified, over time, the set of drives affected by this 3112 quirk (aka drives that didn't fully comply to SATA spec), the debugging of corruption cases largely shifted to the standard routine: update the BIOS, replace the cables/RAM/power/mainboard/slot/etc. to be certain of problem location.

Except for the continued series of later SI + Nvidia chipset (mostly)
pattern which seems unanswered but also being later chips I assume
unrelated to this problem.

The SIL_FLAG_MOD15WRITE flag is set in sil_port_info[] is set according to the best info we have from SiI, which indicates that 3114 and 3512 do not have the same problem as the 3112.

Jeff


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/