aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorAlbert Lee <albertcc@tw.ibm.com>2007-11-15 10:35:47 +0900
committerTejun Heo <htejun@gmail.com>2007-11-19 12:28:11 +0900
commitf442cd86c1c86c5f44bc2cf23f89536f7e4cfe59 (patch)
treeff5dfc8e1dc17aeb3f690d48a667d55fcc8c3ad8 /drivers/ata
parentlibata: workaround DRQ=1 ERR=1 for ATAPI tape drives (diff)
downloadlinux-dev-f442cd86c1c86c5f44bc2cf23f89536f7e4cfe59.tar.xz
linux-dev-f442cd86c1c86c5f44bc2cf23f89536f7e4cfe59.zip
libata: use ATA_HORKAGE_STUCK_ERR for ATAPI tape drives
Per Mark's comments, maybe all ATAPI tape drives need ATA_HORKAGE_STUCK_ERR. This patch applys ATA_HORKAGE_STUCK_ERR for all ATAPI tape drives. Signed-off-by: Albert Lee <albertcc@tw.ibm.com> Cc: Mark Lord <liml@rtr.ca> Signed-off-by: Tejun Heo <htejun@gmail.com>
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/libata-core.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 5478b4c6c6e9..f7f6ca991e32 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -2307,8 +2307,10 @@ int ata_dev_configure(struct ata_device *dev)
}
if ((dev->class == ATA_DEV_ATAPI) &&
- (atapi_command_packet_set(id) == TYPE_TAPE))
+ (atapi_command_packet_set(id) == TYPE_TAPE)) {
dev->max_sectors = ATA_MAX_SECTORS_TAPE;
+ dev->horkage |= ATA_HORKAGE_STUCK_ERR;
+ }
if (dev->horkage & ATA_HORKAGE_MAX_SEC_128)
dev->max_sectors = min_t(unsigned int, ATA_MAX_SECTORS_128,