diff options
-rw-r--r-- | sys/dev/ata/ata-pci.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/ata/ata-pci.c b/sys/dev/ata/ata-pci.c index 535a8cf..896094d 100644 --- a/sys/dev/ata/ata-pci.c +++ b/sys/dev/ata/ata-pci.c @@ -439,7 +439,8 @@ ata_pci_status(device_t dev) { struct ata_channel *ch = device_get_softc(dev); - if (ch->dma && ((ch->flags & ATA_ALWAYS_DMASTAT) || + if (!ata_legacy(device_get_parent(dev)) && + ch->dma && ((ch->flags & ATA_ALWAYS_DMASTAT) || (ch->dma->flags & ATA_DMA_ACTIVE))) { int bmstat = ATA_IDX_INB(ch, ATA_BMSTAT_PORT) & ATA_BMSTAT_MASK; |