Find spurious interrupts.

This commit is contained in:
Nick Hibma 2001-08-21 22:39:04 +00:00
parent 0bd2b09761
commit 83429be9b0
2 changed files with 11 additions and 3 deletions

View File

@ -1036,6 +1036,8 @@ ohci_intr1(sc)
if (intrs == 0) {
/* nothing to be done ?! */
printf("%s: interrupt, but not for us\n",
USBDEVNAME(sc->sc_bus.bdev));
return (0);
}

View File

@ -934,8 +934,11 @@ uhci_intr(void *arg)
#endif
status = UREAD2(sc, UHCI_STS);
if (status == 0) /* The interrupt was not for us. */
if (status == 0) { /* The interrupt was not for us. */
printf("%s: interrupt, but not for us\n",
USBDEVNAME(sc->sc_bus.bdev));
return (0);
}
#if defined(DIAGNOSTIC) && defined(__NetBSD__)
if (sc->sc_suspend != PWR_RESUME)
@ -966,10 +969,13 @@ uhci_intr(void *arg)
USBDEVNAME(sc->sc_bus.bdev));
}
if (ack) /* acknowledge the ints */
if (ack) { /* acknowledge the ints */
UWRITE2(sc, UHCI_STS, ack);
else /* nothing to acknowledge */
} else { /* nothing to acknowledge */
printf("%s: UHCI interrupt, STS = 0x%04x, but ack == 0\n",
USBDEVNAME(sc->sc_bus.bdev), status);
return (0);
}
sc->sc_bus.intr_context++;
sc->sc_bus.no_intrs++;