summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorjoe <joe@FreeBSD.org>2002-04-07 14:25:02 +0000
committerjoe <joe@FreeBSD.org>2002-04-07 14:25:02 +0000
commit15941fbd97b74997e142c500d2f0523a5db58397 (patch)
tree9b9d27ac72aa00bd1e6159b1d12273e9849173a1 /sys/dev
parent7938502a0b0d2ed1c5ab5e02b7537cbcb5e6f2f9 (diff)
downloadFreeBSD-src-15941fbd97b74997e142c500d2f0523a5db58397.zip
FreeBSD-src-15941fbd97b74997e142c500d2f0523a5db58397.tar.gz
MFNetBSD: ohci.c (1.100), ohcivar.h (1.25)
ohci.c revision 1.100 date: 2001/01/28 16:18:09; author: augustss; state: Exp; lines: +7 -2 Put a rate limiter on the scheduling overrun message. ohcivar.h: revision 1.25 date: 2001/01/28 19:01:20; author: augustss; state: Exp; lines: +4 -1 Commit second half of rate limit change.
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