Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Jan 2009 11:38:01 +0100
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        Weongyo Jeong <weongyo@freebsd.org>
Cc:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   Re: PERFORCE change 155896 for review
Message-ID:  <200901101138.02533.hselasky@c2i.net>
In-Reply-To: <200901100859.n0A8xdmW025069@repoman.freebsd.org>
References:  <200901100859.n0A8xdmW025069@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 10 January 2009, Weongyo Jeong wrote:
> http://perforce.freebsd.org/chv.cgi?CH=155896
>
> Change 155896 by weongyo@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();
>  	}





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200901101138.02533.hselasky>