summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/usb/ohci.c9
-rw-r--r--sys/dev/usb/ohcivar.h5
2 files changed, 11 insertions, 3 deletions
diff --git a/sys/dev/usb/ohci.c b/sys/dev/usb/ohci.c
index c42d8e1..c8b8c4c 100644
--- a/sys/dev/usb/ohci.c
+++ b/sys/dev/usb/ohci.c
@@ -1,4 +1,4 @@
-/* $NetBSD: ohci.c,v 1.99 2001/01/21 02:39:52 augustss Exp $ */
+/* $NetBSD: ohci.c,v 1.100 2001/01/28 16:18:09 augustss Exp $ */
/* $FreeBSD$ */
/*
@@ -1078,7 +1078,12 @@ ohci_intr1(ohci_softc_t *sc)
(u_int)eintrs));
if (eintrs & OHCI_SO) {
- printf("%s: scheduling overrun\n",USBDEVNAME(sc->sc_bus.bdev));
+ sc->sc_overrun_cnt++;
+ if (usbd_ratecheck(&sc->sc_overrun_ntc)) {
+ printf("%s: %u scheduling overruns\n",
+ USBDEVNAME(sc->sc_bus.bdev), sc->sc_overrun_cnt);
+ sc->sc_overrun_cnt = 0;
+ }
/* XXX do what */
eintrs &= ~OHCI_SO;
}
diff --git a/sys/dev/usb/ohcivar.h b/sys/dev/usb/ohcivar.h
index af43c47..99d0997 100644
--- a/sys/dev/usb/ohcivar.h
+++ b/sys/dev/usb/ohcivar.h
@@ -1,4 +1,4 @@
-/* $NetBSD: ohcivar.h,v 1.22 2000/04/25 09:20:55 augustss Exp $ */
+/* $NetBSD: ohcivar.h,v 1.25 2001/01/28 19:01:20 augustss Exp $ */
/* $FreeBSD$ */
/*
@@ -131,6 +131,9 @@ typedef struct ohci_softc {
void *sc_shutdownhook; /* cookie from shutdown hook */
#endif
+ u_int sc_overrun_cnt;
+ struct timeval sc_overrun_ntc;
+
usb_callout_t sc_tmo_rhsc;
device_ptr_t sc_child;
OpenPOWER on IntegriCloud