diff options
author | Tejun Heo <tj@kernel.org> | 2008-12-09 17:14:04 +0900 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-12-16 05:40:34 -0500 |
commit | 3ee89f177e3cef0b5b024bcb6df683a3fa7d795f (patch) | |
tree | 470dd4a4af017728b1e8fdc59614c61a4fa246d1 /drivers/ata | |
parent | bab5b32a537edc83ff86bff91e46f328339f49f8 (diff) | |
download | op-kernel-dev-3ee89f177e3cef0b5b024bcb6df683a3fa7d795f.zip op-kernel-dev-3ee89f177e3cef0b5b024bcb6df683a3fa7d795f.tar.gz |
pata_hpt366: no ATAPI DMA
IDE hpt366 driver doesn't allow DMA for ATAPI devices and MWDMA2 on
ATAPI device locks up pata_hpt366. Follow the suit.
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata')
-rw-r--r-- | drivers/ata/pata_hpt366.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/ata/pata_hpt366.c b/drivers/ata/pata_hpt366.c index 4824821..e0c4f05 100644 --- a/drivers/ata/pata_hpt366.c +++ b/drivers/ata/pata_hpt366.c @@ -183,7 +183,9 @@ static unsigned long hpt366_filter(struct ata_device *adev, unsigned long mask) mask &= ~(0xF8 << ATA_SHIFT_UDMA); if (hpt_dma_blacklisted(adev, "UDMA4", bad_ata66_4)) mask &= ~(0xF0 << ATA_SHIFT_UDMA); - } + } else if (adev->class == ATA_DEV_ATAPI) + mask &= ~(ATA_MASK_MWDMA | ATA_MASK_UDMA); + return ata_bmdma_mode_filter(adev, mask); } |