mav 2009-12-09 17:23:08 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_7)
SVN rev 200298 on 2009-12-09 17:23:08Z by mav
Do not ignore device interrupt if bus mastering is still active. It is
normal in case of media read error and some ATAPI cases, when transfer size
is unknown beforehand. PCI ATA BM specification tells that in case of such
underrun driver should just manually stop DMA engine. DMA engine should
same time guarantie that all bus mastering transfers completed at the moment
when driver reads interrupt flag asserted.
This change fixes interrupt storms and command timeouts in many cases.
PR: kern/103602, sparc64/121539, kern/133122, kern/139654
Revision Changes Path
126.96.36.199 +1 -2 src/sys/dev/ata/ata-pci.c