diff options
author | mav <mav@FreeBSD.org> | 2016-08-18 11:17:36 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2016-08-18 11:17:36 +0000 |
commit | 41a9feef3f0324d87afa2836b00ab426e87dbdd8 (patch) | |
tree | af1a5f6dc58cf442470a00bc576935c5de2efe57 /sys/dev/ahci | |
parent | 5a81cccdc50e07c5c8d34e3586fcb2044a49c1d5 (diff) | |
download | FreeBSD-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.c | 1 |
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) |