PERFORCE change 155896 for review

Hans Petter Selasky hselasky at c2i.net
Sat Jan 10 03:35:46 PST 2009


On Saturday 10 January 2009, Weongyo Jeong wrote:
> http://perforce.freebsd.org/chv.cgi?CH=155896
>
> Change 155896 by weongyo at weongyo_ws on 2009/01/10 08:59:26
>
> 	In USB 2.0 specification The USB System Software should guarantees
> 	a minumum of 10ms for reset recovery but it looks the USB1 framework
> 	doesn't follow it.  So it looks sometimes it failed to re-attach or
> 	reenumerate devices after the device reset.
>
> 	With this patch, the fw loading operation of uath(4) works.
>
> Affected files ...
>
> .. //depot/projects/vap/sys/dev/usb/usb.c#8 edit
>

Hi,

This is not the right place to patch.

I think this delay belongs somewhere in "uhub.c". Please search for the 
following defines in the code:

#define USB_PORT_RESET_DELAY    50  /* ms */
#define USB_PORT_ROOT_RESET_DELAY 250  /* ms */
#define USB_PORT_RESET_RECOVERY 250  /* ms */

There should already be a delay there. Maybe you need to increase one of these 
macros.

--HPS

> Differences ...
>
> ==== //depot/projects/vap/sys/dev/usb/usb.c#8 (text+ko) ====
>
> @@ -725,6 +725,7 @@
>  	while (sc->sc_bus->needs_explore && !sc->sc_dying) {
>  		sc->sc_bus->needs_explore = 0;
>  		splx(s);
> +		usbd_delay_ms(sc->sc_bus->root_hub, 10);
>  		sc->sc_bus->root_hub->hub->explore(sc->sc_bus->root_hub);
>  		s = splusb();
>  	}




More information about the p4-projects mailing list