diff options
author | sos <sos@FreeBSD.org> | 2003-10-20 13:45:11 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2003-10-20 13:45:11 +0000 |
commit | 0468baeb3ff3a4ee3ae8e12e01a5a0e7b19e1856 (patch) | |
tree | 9654a6cd6ad6133f33528d0c76b037885adeb405 /sys/dev/ata/ata-pci.c | |
parent | c0bf81d66c4a25ae4458634912fe16ff5c1e6a8b (diff) | |
download | FreeBSD-src-0468baeb3ff3a4ee3ae8e12e01a5a0e7b19e1856.zip FreeBSD-src-0468baeb3ff3a4ee3ae8e12e01a5a0e7b19e1856.tar.gz |
Only return valid DMA error bits.
Diffstat (limited to 'sys/dev/ata/ata-pci.c')
-rw-r--r-- | sys/dev/ata/ata-pci.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/ata/ata-pci.c b/sys/dev/ata/ata-pci.c index 18fdfb1..fb950d9 100644 --- a/sys/dev/ata/ata-pci.c +++ b/sys/dev/ata/ata-pci.c @@ -430,7 +430,7 @@ ata_pci_dmastop(struct ata_channel *ch) { int error; - error = ATA_IDX_INB(ch, ATA_BMSTAT_PORT); + error = ATA_IDX_INB(ch, ATA_BMSTAT_PORT) & ATA_BMSTAT_MASK; ATA_IDX_OUTB(ch, ATA_BMCMD_PORT, ATA_IDX_INB(ch, ATA_BMCMD_PORT) & ~ATA_BMCMD_START_STOP); ATA_IDX_OUTB(ch, ATA_BMSTAT_PORT, ATA_BMSTAT_INTERRUPT | ATA_BMSTAT_ERROR); |