On Sat, Aug 21, 2010 at 07:43:18AM +0000, Jacob Meuser wrote:
> returning here without calling usb_transfer_complete() can cause
> the usbtask thread to sleep forever, which breaks all usb devices
> that use usb_tasks.
> 
> -- 
> [email protected]
> SDF Public Access UNIX System - http://sdf.lonestar.org
> 
> Index: ehci.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/usb/ehci.c,v
> retrieving revision 1.106
> diff -u -p ehci.c
> --- ehci.c    26 Nov 2009 12:27:48 -0000      1.106
> +++ ehci.c    21 Aug 2010 07:20:03 -0000
> @@ -2215,7 +2215,8 @@ ehci_root_ctrl_start(usbd_xfer_handle xfer)
>                       if (v & EHCI_PS_PR) {
>                               printf("%s: port reset timeout\n",
>                                   sc->sc_bus.bdev.dv_xname);
> -                             return (USBD_TIMEOUT);
> +                             err = USBD_IOERROR;

err = USBD_TIMEOUT?

.... Ken

> +                             goto ret;
>                       }
>                       if (!(v & EHCI_PS_PE)) {
>                               /* Not a high speed device, give up ownership.*/

Reply via email to