summaryrefslogtreecommitdiffstats
path: root/sys/dev/ahci
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2016-08-18 11:17:36 +0000
committermav <mav@FreeBSD.org>2016-08-18 11:17:36 +0000
commit41a9feef3f0324d87afa2836b00ab426e87dbdd8 (patch)
treeaf1a5f6dc58cf442470a00bc576935c5de2efe57 /sys/dev/ahci
parent5a81cccdc50e07c5c8d34e3586fcb2044a49c1d5 (diff)
downloadFreeBSD-src-41a9feef3f0324d87afa2836b00ab426e87dbdd8.zip
FreeBSD-src-41a9feef3f0324d87afa2836b00ab426e87dbdd8.tar.gz
MFC r302947: In AHCI_IRQ_MODE_AFTER mode do not clear interrupts below.
This is probably a NOP change since IS register is not activery used for interrupts below the shared, but it looked odd to clear interrupts we did not handle.
Diffstat (limited to 'sys/dev/ahci')
-rw-r--r--sys/dev/ahci/ahci.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/ahci/ahci.c b/sys/dev/ahci/ahci.c
index fbbbf0a..1295de7 100644
--- a/sys/dev/ahci/ahci.c
+++ b/sys/dev/ahci/ahci.c
@@ -423,6 +423,7 @@ ahci_intr(void *data)
} else { /* AHCI_IRQ_MODE_AFTER */
unit = irq->r_irq_rid - 1;
is = ATA_INL(ctlr->r_mem, AHCI_IS);
+ is &= (0xffffffff << unit);
}
/* CCC interrupt is edge triggered. */
if (ctlr->ccc)
OpenPOWER on IntegriCloud