diff options
-rw-r--r-- | drivers/ide/cmd64x.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/ide/cmd64x.c b/drivers/ide/cmd64x.c index 5c5dd90d032b..9f89f3116df0 100644 --- a/drivers/ide/cmd64x.c +++ b/drivers/ide/cmd64x.c | |||
@@ -146,10 +146,8 @@ static void cmd64x_set_dma_mode(ide_drive_t *drive, const u8 speed) | |||
146 | u8 unit = drive->dn & 0x01; | 146 | u8 unit = drive->dn & 0x01; |
147 | u8 regU = 0, pciU = hwif->channel ? UDIDETCR1 : UDIDETCR0; | 147 | u8 regU = 0, pciU = hwif->channel ? UDIDETCR1 : UDIDETCR0; |
148 | 148 | ||
149 | if (speed >= XFER_SW_DMA_0) { | 149 | pci_read_config_byte(dev, pciU, ®U); |
150 | (void) pci_read_config_byte(dev, pciU, ®U); | 150 | regU &= ~(unit ? 0xCA : 0x35); |
151 | regU &= ~(unit ? 0xCA : 0x35); | ||
152 | } | ||
153 | 151 | ||
154 | switch(speed) { | 152 | switch(speed) { |
155 | case XFER_UDMA_5: | 153 | case XFER_UDMA_5: |
@@ -177,8 +175,7 @@ static void cmd64x_set_dma_mode(ide_drive_t *drive, const u8 speed) | |||
177 | break; | 175 | break; |
178 | } | 176 | } |
179 | 177 | ||
180 | if (speed >= XFER_SW_DMA_0) | 178 | pci_write_config_byte(dev, pciU, regU); |
181 | (void) pci_write_config_byte(dev, pciU, regU); | ||
182 | } | 179 | } |
183 | 180 | ||
184 | static void cmd648_clear_irq(ide_drive_t *drive) | 181 | static void cmd648_clear_irq(ide_drive_t *drive) |