mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-06 00:20:29 +00:00
Do not test for DMA status on legacy ATA devices. This has the unfortunate
side effect that legacy ATA controllers at irq14 and irq15 cannot share interrupts with anything else without major problems. This fixes the ATAPI DMA problems some systems/devices have seen.
This commit is contained in:
parent
0b4ae859ac
commit
634c377652
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=154768
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue