Date: Sat, 6 Jun 2009 04:27:03 GMT From: Andrew Thompson <thompsa@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 163626 for review Message-ID: <200906060427.n564R3G0028130@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=163626 Change 163626 by thompsa@thompsa_burger on 2009/06/06 04:26:45 - assert locks on load - remove printf - remove double queue Affected files ... .. //depot/projects/usb_buf/src/sys/dev/usb/controller/ehci.c#12 edit Differences ... ==== //depot/projects/usb_buf/src/sys/dev/usb/controller/ehci.c#12 (text+ko) ==== @@ -2201,10 +2201,9 @@ /* dequeue transfer */ usb2_transfer_done(urb, error); - /* Load next */ + /* load next */ urb = TAILQ_FIRST(&pipe->urb_hc_q); if (error == 0 && urb != NULL) { - printf("LOAD NEXT %p\n", urb); TAILQ_REMOVE(&pipe->urb_hc_q, urb, ub_hcnext); error = (pipe->methods->load)(urb); if (error) @@ -2276,12 +2275,11 @@ ehci_softc_t *sc = EHCI_BUS2SC(pipe->xroot->bus); uint32_t temp; + USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); + /* setup TD's and QH */ ehci_setup_standard_chain(urb, &sc->sc_async_p_last); - /* put transfer on interrupt queue */ - ehci_transfer_intr_enqueue(urb); - /* XXX Performance quirk: Some Host Controllers have a too low * interrupt rate. Issue an IAAD to stimulate the Host * Controller after queueing the BULK transfer. @@ -2327,6 +2325,8 @@ struct usb_pipe *pipe = urb->ub_pipe; ehci_softc_t *sc = EHCI_BUS2SC(pipe->xroot->bus); + USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); + /* setup TD's and QH */ ehci_setup_standard_chain(urb, &sc->sc_async_p_last); @@ -2425,6 +2425,8 @@ struct usb_pipe *pipe = urb->ub_pipe; ehci_softc_t *sc = EHCI_BUS2SC(pipe->xroot->bus); + USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); + /* setup TD's and QH */ ehci_setup_standard_chain(urb, &sc->sc_intr_p_last[pipe->qh_pos]); @@ -2524,6 +2526,8 @@ #endif + USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); + DPRINTFN(6, "urb=%p next=%d nframes=%d\n", urb, pipe->endpoint->isoc_next, urb->nframes); @@ -2814,6 +2818,8 @@ #endif + USB_BUS_LOCK_ASSERT(&sc->sc_bus, MA_OWNED); + DPRINTFN(6, "urb=%p next=%d nframes=%d\n", urb, pipe->endpoint->isoc_next, urb->nframes);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906060427.n564R3G0028130>