summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/uhci.c
diff options
context:
space:
mode:
authorn_hibma <n_hibma@FreeBSD.org>2001-08-21 22:39:04 +0000
committern_hibma <n_hibma@FreeBSD.org>2001-08-21 22:39:04 +0000
commitf6cd2321ff50acefefd391b89e3f9e4fea4cd87f (patch)
treebb46a90b072d93423a244a15a63f9f4d84d20309 /sys/dev/usb/uhci.c
parent94b175e3064f509e60ebb1ac8cd21a8d89093219 (diff)
downloadFreeBSD-src-f6cd2321ff50acefefd391b89e3f9e4fea4cd87f.zip
FreeBSD-src-f6cd2321ff50acefefd391b89e3f9e4fea4cd87f.tar.gz
Find spurious interrupts.
Diffstat (limited to 'sys/dev/usb/uhci.c')
-rw-r--r--sys/dev/usb/uhci.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/sys/dev/usb/uhci.c b/sys/dev/usb/uhci.c
index 761a458..ff6220a 100644
--- a/sys/dev/usb/uhci.c
+++ b/sys/dev/usb/uhci.c
@@ -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++;
OpenPOWER on IntegriCloud