diff options
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/usb/ohci.c | 9 | ||||
-rw-r--r-- | sys/dev/usb/ohcivar.h | 5 |
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; |