ide-cd: handle fragmented packet commands gracefully
authorBorislav Petkov <petkovbb@gmail.com>
Fri, 26 Jun 2009 18:22:37 +0000 (11:22 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 26 Jun 2009 18:22:37 +0000 (11:22 -0700)
commit9c72ebef5aabf3532469d602a9d87beceea268b1
tree9f3106fb47e0a8125254f2331dbd8f034793c131
parent5e955245d6cf49c5ed26c7add7392ff5a6762bf4
ide-cd: handle fragmented packet commands gracefully

There are some devices in the wild that clear the DRQ bit during the
last word of a packet command and therefore could use a "second chance"
for that last word of data to be xferred instead of simply failing the
request. Do that by attempting to suck in those last bytes in PIO mode.

In addition, the ATA_ERR bit has to be cleared for we cannot be sure the
data is valid otherwise.

See http://bugzilla.kernel.org/show_bug.cgi?id=13399 for details.

Signed-off-by: Borislav Petkov <petkovbb@gmail.com>
Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/ide/ide-cd.c