Make uhci_waitintr() robust to interrupts being enabled, even though

it is expected that they will not be enabled at the time that it
is called. This is reported to work around a problem in RELENG_4
where the kernel panics on boot if FAST_IPSEC and crypto support
are enabled.

Tested by:	Scott Johnson <scottj@insane.com>
This commit is contained in:
Ian Dowse 2003-03-11 09:12:55 +00:00
parent 29568c0191
commit ec8b828fc4

View File

@ -1511,11 +1511,10 @@ uhci_waitintr(uhci_softc_t *sc, usbd_xfer_handle xfer)
for (; timo >= 0; timo--) {
usb_delay_ms(&sc->sc_bus, 1);
DPRINTFN(20,("uhci_waitintr: 0x%04x\n", UREAD2(sc, UHCI_STS)));
if (UREAD2(sc, UHCI_STS) & UHCI_STS_USBINT) {
if (UREAD2(sc, UHCI_STS) & UHCI_STS_USBINT)
uhci_intr1(sc);
if (xfer->status != USBD_IN_PROGRESS)
return;
}
if (xfer->status != USBD_IN_PROGRESS)
return;
}
/* Timeout */