diff options
| -rw-r--r-- | drivers/ide/ide-iops.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c index 5403e4a44be4..0e62698146b6 100644 --- a/drivers/ide/ide-iops.c +++ b/drivers/ide/ide-iops.c | |||
| @@ -386,9 +386,11 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed) | |||
| 386 | return error; | 386 | return error; |
| 387 | } | 387 | } |
| 388 | 388 | ||
| 389 | id[ATA_ID_UDMA_MODES] &= ~0xFF00; | 389 | if (speed >= XFER_SW_DMA_0) { |
| 390 | id[ATA_ID_MWDMA_MODES] &= ~0x0F00; | 390 | id[ATA_ID_UDMA_MODES] &= ~0xFF00; |
| 391 | id[ATA_ID_SWDMA_MODES] &= ~0x0F00; | 391 | id[ATA_ID_MWDMA_MODES] &= ~0x0700; |
| 392 | id[ATA_ID_SWDMA_MODES] &= ~0x0700; | ||
| 393 | } | ||
| 392 | 394 | ||
| 393 | skip: | 395 | skip: |
| 394 | #ifdef CONFIG_BLK_DEV_IDEDMA | 396 | #ifdef CONFIG_BLK_DEV_IDEDMA |
