aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2009-12-03 14:32:13 -0500
committerJeff Garzik <jgarzik@redhat.com>2009-12-03 16:11:24 -0500
commitdd4a43c979d5da7f2cd20e2751dbbd841116cdfe (patch)
tree05b0fc53813ad0a7ac2e20e858c0f7c80a3ce275 /drivers/ata
parenta809c68752e63312c20fb027cf33da4a5ac384a5 (diff)
pata_radisys: fix UDMA handling
Set correct bits to switch between UDMA2 and UDMA4. 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_radisys.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/ata/pata_radisys.c b/drivers/ata/pata_radisys.c
index 4401b332eaab..4fd25e737d9a 100644
--- a/drivers/ata/pata_radisys.c
+++ b/drivers/ata/pata_radisys.c
@@ -139,9 +139,9 @@ static void radisys_set_dmamode (struct ata_port *ap, struct ata_device *adev)
139 pci_read_config_byte(dev, 0x4A, &udma_mode); 139 pci_read_config_byte(dev, 0x4A, &udma_mode);
140 140
141 if (adev->xfer_mode == XFER_UDMA_2) 141 if (adev->xfer_mode == XFER_UDMA_2)
142 udma_mode &= ~ (1 << adev->devno); 142 udma_mode &= ~(2 << (adev->devno * 4));
143 else /* UDMA 4 */ 143 else /* UDMA 4 */
144 udma_mode |= (1 << adev->devno); 144 udma_mode |= (2 << (adev->devno * 4));
145 145
146 pci_write_config_byte(dev, 0x4A, udma_mode); 146 pci_write_config_byte(dev, 0x4A, udma_mode);
147 147