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>