diff options
author | Albert Lee <albertcc@tw.ibm.com> | 2007-04-02 11:34:15 +0800 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-04-04 02:12:27 -0400 |
commit | 18d6e9d51891f91af4e7351cbab3cb180bb9f430 (patch) | |
tree | 5ba793fd334c4afbbcdfeb00353f46c9d3aaf6a2 /drivers/ata | |
parent | 56287768e31268969abd94b38b931a29d1ced1ce (diff) | |
download | op-kernel-dev-18d6e9d51891f91af4e7351cbab3cb180bb9f430.zip op-kernel-dev-18d6e9d51891f91af4e7351cbab3cb180bb9f430.tar.gz |
libata: Limit max sector to 128 for TORiSAN DVD drives (take 3)
patch 3/4:
The TORiSAN drive locks up when max sector == 256.
Limit max sector to 128 for the TORiSAN DRD-N216 drives.
(http://bugzilla.kernel.org/show_bug.cgi?id=6710)
Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata')
-rw-r--r-- | drivers/ata/libata-core.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index e07142b..84f6f85 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c @@ -1784,6 +1784,9 @@ int ata_dev_configure(struct ata_device *dev) dev->max_sectors = ATA_MAX_SECTORS; } + if (ata_device_blacklisted(dev) & ATA_HORKAGE_MAX_SEC_128) + dev->max_sectors = min(ATA_MAX_SECTORS_128, dev->max_sectors); + if (ap->ops->dev_config) ap->ops->dev_config(ap, dev); @@ -3352,6 +3355,9 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = { { "_NEC DV5800A", NULL, ATA_HORKAGE_NODMA }, { "SAMSUNG CD-ROM SN-124","N001", ATA_HORKAGE_NODMA }, + /* Weird ATAPI devices */ + { "TORiSAN DVD-ROM DRD-N216", NULL, ATA_HORKAGE_MAX_SEC_128 }, + /* Devices we expect to fail diagnostics */ /* Devices where NCQ should be avoided */ |