summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjoe <joe@FreeBSD.org>2002-05-26 22:11:34 +0000
committerjoe <joe@FreeBSD.org>2002-05-26 22:11:34 +0000
commit514cd97aa3ef26bf53c44a29665eb406ca902ed8 (patch)
treea57d3c6ec9d1459a1d0cef137aa799dde9f5e55e
parent7a6410c018f342a4765593d0b728aeea5defd36b (diff)
downloadFreeBSD-src-514cd97aa3ef26bf53c44a29665eb406ca902ed8.zip
FreeBSD-src-514cd97aa3ef26bf53c44a29665eb406ca902ed8.tar.gz
MFNetBSD:
revision 1.124 date: 2002/05/26 03:10:02; author: minoura; state: Exp; lines: +3 -3 Clear done_head in the HCCA *before* acknoledging the interrupt. Driver lost some completed transfers under heavy loads.
-rw-r--r--sys/dev/usb/ohci.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/usb/ohci.c b/sys/dev/usb/ohci.c
index de48324..dd312e5 100644
--- a/sys/dev/usb/ohci.c
+++ b/sys/dev/usb/ohci.c
@@ -1,4 +1,4 @@
-/* $NetBSD: ohci.c,v 1.123 2002/05/19 06:24:31 augustss Exp $ */
+/* $NetBSD: ohci.c,v 1.124 2002/05/26 03:10:02 minoura Exp $ */
/* $FreeBSD$ */
/*
@@ -1152,6 +1152,7 @@ ohci_intr1(ohci_softc_t *sc)
intrs |= OREAD4(sc, OHCI_INTERRUPT_STATUS);
done &= ~OHCI_DONE_INTRS;
}
+ sc->sc_hcca->hcca_done_head = 0;
} else
intrs = OREAD4(sc, OHCI_INTERRUPT_STATUS);
@@ -1182,7 +1183,6 @@ ohci_intr1(ohci_softc_t *sc)
}
if (eintrs & OHCI_WDH) {
ohci_add_done(sc, done &~ OHCI_DONE_INTRS);
- sc->sc_hcca->hcca_done_head = 0;
usb_schedsoftintr(&sc->sc_bus);
eintrs &= ~OHCI_WDH;
}
OpenPOWER on IntegriCloud