libata: workaround DRQ=1 ERR=1 for ATAPI tape drives
authorAlbert Lee <albertcc@tw.ibm.com>
Thu, 15 Nov 2007 01:35:46 +0000 (10:35 +0900)
committerTejun Heo <htejun@gmail.com>
Mon, 19 Nov 2007 03:28:11 +0000 (12:28 +0900)
commit2d3b8eea7f2fbafd5d779cc92f7aedbd1ef575e9
tree292cd6197c457defc3e07d02a663cabb3dceb253
parent21bef6dd2b419f28c8096a8e30ad86dcbff44c02
libata: workaround DRQ=1 ERR=1 for ATAPI tape drives

After an error condition, some ATAPI tape drives set DRQ=1 together
with ERR=1 when asking the host to transfer the CDB of the next packet
command (i.e. request sense).  This patch, a revised version of
Alan/Mark's previous patch, adds ATA_HORKAGE_STUCK_ERR to workaround
the problem by ignoring the ERR bit and proceed sending the CDB.

Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Mark Lord <liml@rtr.ca>
Signed-off-by: Tejun Heo <htejun@gmail.com>
drivers/ata/libata-core.c
include/linux/libata.h