[libata] Drain data on errors
authorAlan Cox <alan@redhat.com>
Tue, 24 Mar 2009 10:23:19 +0000 (10:23 +0000)
committerJeff Garzik <jgarzik@redhat.com>
Wed, 25 Mar 2009 02:48:26 +0000 (22:48 -0400)
commit3d47aa8e7e7b2aa09256590388aa8dddc79280f9
tree82f4c85842e5e02489eb0533609dabb865e55198
parentc0f2ee34a5a0b79fd98d965ad8ae765d4639bfa5
[libata] Drain data on errors

If the device is signalling that there is data to drain after an error we
should read the bytes out and throw them away. Without this some devices
and controllers get wedged and don't recover.

Based on earlier work by Mark Lord

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/ata/libata-sff.c
drivers/ata/pata_pcmcia.c
include/linux/libata.h