diff options
author | n_hibma <n_hibma@FreeBSD.org> | 2001-08-21 22:39:04 +0000 |
---|---|---|
committer | n_hibma <n_hibma@FreeBSD.org> | 2001-08-21 22:39:04 +0000 |
commit | f6cd2321ff50acefefd391b89e3f9e4fea4cd87f (patch) | |
tree | bb46a90b072d93423a244a15a63f9f4d84d20309 /sys | |
parent | 94b175e3064f509e60ebb1ac8cd21a8d89093219 (diff) | |
download | FreeBSD-src-f6cd2321ff50acefefd391b89e3f9e4fea4cd87f.zip FreeBSD-src-f6cd2321ff50acefefd391b89e3f9e4fea4cd87f.tar.gz |
Find spurious interrupts.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/usb/ohci.c | 2 | ||||
-rw-r--r-- | sys/dev/usb/uhci.c | 12 |
2 files changed, 11 insertions, 3 deletions
diff --git a/sys/dev/usb/ohci.c b/sys/dev/usb/ohci.c index 686f59c..961088f 100644 --- a/sys/dev/usb/ohci.c +++ b/sys/dev/usb/ohci.c @@ -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); } 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++; |