usb/79656: [usb] RHSC interrupts lost
Hans Petter Selasky
hselasky at c2i.net
Sat Feb 25 01:14:01 PST 2006
On Saturday 25 February 2006 04:55, Ian Dowse wrote:
> Synopsis: [usb] RHSC interrupts lost
>
> State-Changed-From-To: open->feedback
> State-Changed-By: iedowse
> State-Changed-When: Sat Feb 25 03:53:50 UTC 2006
> State-Changed-Why:
>
> If possible, could you provide information about how to reproduce
> this problem, and a patch to fix it?
>
> http://www.freebsd.org/cgi/query-pr.cgi?pr=79656
Symptom: You plug a USB device and it is not detected at all.
I am not using the old USB driver, but basically what you need to do is this:
ehci.c
======
void
ehci_pcd_enable(void *v_sc)
{
ehci_softc_t *sc = v_sc;
ehci_pcd_able(sc, 1);
+ /* acknowledge any PCD interrupt */
+ EOWRITE4(sc, EHCI_USBSTS, EHCI_STS_PCD);
+ ehci_pcd(sc, sc->sc_intrxfer);
}
ohci.c
======
void
ohci_rhsc_enable(void *v_sc)
{
ohci_softc_t *sc = v_sc;
int s;
s = splhardusb();
ohci_rhsc_able(sc, 1);
splx(s);
+ /* acknowledge any RHSC interrupt */
+ OWRITE4(sc, OHCI_INTERRUPT_STATUS, OHCI_RHSC);
+ ohci_rhsc(sc, sc->sc_intrxfer);
}
--HPS
More information about the freebsd-usb
mailing list