summaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-12-03 20:32:08 +0100
committerJeff Garzik <jgarzik@redhat.com>2009-12-03 21:44:31 +0100
commit6938594374ee506e91a4c03117a034ea0ed66783 (patch)
tree619049438fd79e4e9e7025f8b6a3ebcee6e706f9 /drivers/ata
parentlibata: add private driver field to struct ata_device (diff)
downloadlinux-6938594374ee506e91a4c03117a034ea0ed66783.tar.xz
linux-6938594374ee506e91a4c03117a034ea0ed66783.zip
ata_piix: fix MWDMA handling on PIIX3
Fix erroneous check for ap->udma_mask in do_pata_set_dmamode() resulting in controller not being programmed properly for MWDMA. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/ata_piix.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c
index 9ac4e378992e..0c6155f51173 100644
--- a/drivers/ata/ata_piix.c
+++ b/drivers/ata/ata_piix.c
@@ -869,10 +869,10 @@ static void do_pata_set_dmamode(struct ata_port *ap, struct ata_device *adev, in
(timings[pio][1] << 8);
}
- if (ap->udma_mask) {
+ if (ap->udma_mask)
udma_enable &= ~(1 << devid);
- pci_write_config_word(dev, master_port, master_data);
- }
+
+ pci_write_config_word(dev, master_port, master_data);
}
/* Don't scribble on 0x48 if the controller does not support UDMA */
if (ap->udma_mask)