summaryrefslogtreecommitdiff
path: root/sys/dev/ichiic
diff options
context:
space:
mode:
authorVladimir Kondratyev <wulf@FreeBSD.org>2019-11-03 20:46:20 +0000
committerVladimir Kondratyev <wulf@FreeBSD.org>2019-11-03 20:46:20 +0000
commit0a6b1b56d9104f12fadc477cbb9d5e0dd0a7bf60 (patch)
tree8d613ab2f69eaad4d8e7699e9051149943ecb83d /sys/dev/ichiic
parent733d657a748dfc0673234a6e0411da09de51c1ee (diff)
Notes
Diffstat (limited to 'sys/dev/ichiic')
-rw-r--r--sys/dev/ichiic/ig4_iic.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/dev/ichiic/ig4_iic.c b/sys/dev/ichiic/ig4_iic.c
index 4d6026d48bd5..e201842112a6 100644
--- a/sys/dev/ichiic/ig4_iic.c
+++ b/sys/dev/ichiic/ig4_iic.c
@@ -685,9 +685,12 @@ ig4iic_intr(void *cookie)
ig4iic_softc_t *sc = cookie;
mtx_lock(&sc->io_lock);
- set_intr_mask(sc, 0);
- reg_read(sc, IG4_REG_CLR_INTR);
- wakeup(sc);
+ /* Ignore stray interrupts */
+ if (sc->intr_mask != 0 && reg_read(sc, IG4_REG_INTR_STAT) != 0) {
+ set_intr_mask(sc, 0);
+ reg_read(sc, IG4_REG_CLR_INTR);
+ wakeup(sc);
+ }
mtx_unlock(&sc->io_lock);
}