diff options
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/ata/ata-all.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/ata/ata-all.c b/sys/dev/ata/ata-all.c index 3db5df7..632d625 100644 --- a/sys/dev/ata/ata-all.c +++ b/sys/dev/ata/ata-all.c @@ -615,7 +615,9 @@ ata_getparam(device_t parent, struct ata_device *atadev) atadev->mode = ATA_DMA_MAX; } else { - if (ata_dma && ch->dma) + if (ata_dma && ch->dma && + (ata_umode(&atadev->param) > 0 || + ata_wmode(&atadev->param) > 0)) atadev->mode = ATA_DMA_MAX; } } |