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/dev/usb/uhci.c | |
parent | 94b175e3064f509e60ebb1ac8cd21a8d89093219 (diff) | |
download | FreeBSD-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.c | 12 |
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++; |