Add a temporary fix to ata_interrupt() to ignore weird interrupts seen on
authorThomas E. Spanjaard <tgen@dragonflybsd.org>
Tue, 9 Jan 2007 21:17:00 +0000 (21:17 +0000)
committerThomas E. Spanjaard <tgen@dragonflybsd.org>
Tue, 9 Jan 2007 21:17:00 +0000 (21:17 +0000)
commit3db7e3f55e3f3676e7ff51cf957ea8d030c971d6
tree2fba1b1aba04b264d6bdb8327e4118f233eb8f62
parent4772abe84d97fedbe62cf732a8ff6fbc48734fc0
Add a temporary fix to ata_interrupt() to ignore weird interrupts seen on
SMP+ATAPI+DMA. For some reason, the ATAPI device asserts INTRQ while it's
otherwise completely ready to fulfill the request. DRQ is set in the status
register, and no matter how I read the specs, this just should never
happen. Is this actually a race condition? I have no idea :(. Ignoring the
interrupt, however, does not seem to produce adverse results (tested with
a DragonFlyBSD livecd with SMP kernel).
sys/dev/disk/nata/ata-all.c