summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2007-10-25 14:21:16 +0100
committerJeff Garzik <jeff@garzik.org>2008-01-23 05:24:15 -0500
commitc5038fc05d4aa4ae0671776199459690e4c973cb (patch)
tree4011035b5a738fa51403882153e5e1c5047a1d87 /block
parenta5df2eabdae7cd7840d59cffe621b3658a3a70cb (diff)
downloadlinux-c5038fc05d4aa4ae0671776199459690e4c973cb.tar.gz
linux-c5038fc05d4aa4ae0671776199459690e4c973cb.tar.bz2
linux-c5038fc05d4aa4ae0671776199459690e4c973cb.zip
libata/pata_it821x: Improve handling of poorly compatible emulations
Some it821x RAID firmwares return 0 for the err return off both devices. A similar issue occurs with the slave returning 0 not 1 if you plug a gigabyte sata ramdisk into a controller that fakes two SATA ports as master/slave on an SFF channel. The patch does the following - Allow the 'failed diagnostics' case on both master and slave - Move the HORKAGE_DIAGNOSTIC check after ->dev_config This second change also allows IT821x to fix up a problem where we report drive diagnostic failures when in fact the drive is fine but the microcontroller firmware doesn't appear to get it right. IT821x clears the flag again to avoid giving the user bogus warnings about their disk. The other IT821x change is a bit ugly, we slightly abuse the cable type hook to fiddle with the identify data for the devices. We could add a new hook for this but as we have only one offender and no more seeming likely it seems better to keep libata-core clean. Please let this sit in -mm briefly, just in case the relaxed checking breaks some other emulated interface. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions