MFNetBSD:
revision 1.142 date: 2003/10/11 03:04:26; author: toshii Fix a done list handling bug which exhibits under high shared interrupt rate and bus traffic. As the interrupt register is read after checking hcca_done_head, there was a small chance of dropping a done list. Ignore OHCI_WDH interrupt bit if hcca_done_head is zero so that OHCI_WDH is processed later.
This commit is contained in:
parent
9c96cea538
commit
f395d6798d
@ -3,6 +3,7 @@
|
||||
/* Also, already ported:
|
||||
* $NetBSD: ohci.c,v 1.140 2003/05/13 04:42:00 gson Exp $
|
||||
* $NetBSD: ohci.c,v 1.141 2003/09/10 20:08:29 mycroft Exp $
|
||||
* $NetBSD: ohci.c,v 1.142 2003/10/11 03:04:26 toshii Exp $
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
@ -1180,7 +1181,7 @@ ohci_intr1(ohci_softc_t *sc)
|
||||
}
|
||||
sc->sc_hcca->hcca_done_head = 0;
|
||||
} else
|
||||
intrs = OREAD4(sc, OHCI_INTERRUPT_STATUS);
|
||||
intrs = OREAD4(sc, OHCI_INTERRUPT_STATUS) & ~OHCI_WDH;
|
||||
|
||||
if (intrs == 0) /* nothing to be done (PCI shared interrupt) */
|
||||
return (0);
|
||||
|
Loading…
Reference in New Issue
Block a user