summaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-12-03 20:32:10 +0100
committerJeff Garzik <jgarzik@redhat.com>2009-12-03 15:59:25 -0500
commite0ee792b75a5cf1b23acfeae7ce3c386f805b20b (patch)
tree0e1e4fdf99fa73c5c23e23471ab5ea4a26fd06fc /drivers/ata
parent3915044468217d9c224b824c308e4d112666f58d (diff)
downloadkernel-crypto-e0ee792b75a5cf1b23acfeae7ce3c386f805b20b.tar.gz
kernel-crypto-e0ee792b75a5cf1b23acfeae7ce3c386f805b20b.tar.xz
kernel-crypto-e0ee792b75a5cf1b23acfeae7ce3c386f805b20b.zip
pata_it8213: fix UDMA handling
Driver should program the cycle timing not the mode number (doing the latter results in wrong timings being used). There shouldn't be any problems with it as IDE it8213 host driver has been doing it this way for years. 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/pata_it8213.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/ata/pata_it8213.c b/drivers/ata/pata_it8213.c
index f156da8076f..36d1f61491d 100644
--- a/drivers/ata/pata_it8213.c
+++ b/drivers/ata/pata_it8213.c
@@ -173,10 +173,10 @@ static void it8213_set_dmamode (struct ata_port *ap, struct ata_device *adev)
udma_enable |= (1 << devid);
- /* Load the UDMA mode number */
+ /* Load the UDMA cycle time */
pci_read_config_word(dev, 0x4A, &udma_timing);
udma_timing &= ~(3 << (4 * devid));
- udma_timing |= (udma & 3) << (4 * devid);
+ udma_timing |= u_speed << (4 * devid);
pci_write_config_word(dev, 0x4A, udma_timing);
/* Load the clock selection */