usb/110855: ugen: interrupt in msgs are truncated when buffer
is full
Hans Petter Selasky
hselasky at c2i.net
Thu Mar 29 06:39:18 UTC 2007
On Wednesday 28 March 2007 20:27, Markus Henschel wrote:
> Hans Petter Selasky schrieb:
> > <ZAP>
> >
> > Can you revert the changes you made to "umass.c" ?
> >
> > You can do this for example by copying "sys/dev/usb/umass.c" from the SVN
> > repo to where you have your kernel sources.
> >
> > Then edit "sys/dev/usb/umass.c" again.
> >
> > Lookup the function "umass_t_bbb_status_callback()".
> >
> > Right below the label "tr_transferred" you add like this:
> >
> > tr_transferred:
> > /* don't retry the status, but do a full reset if
> > * there is something wrong with the CSW:
> > */
> > sc->sc_status_try = 1;
> >
> > Compile a new kernel (or if you are smart, leave "device umass" out of
> > the kernel config file and just recompile the "umass" module:
> > sys/modules/umass)
> >
> > What happens now?
> >
> > --HPS
>
> Mmmm, seems like I must have messed something up before. So I reapplied
> the changes to a clean system. The first stick says now. The !!!! mark
> the point where the hanging occurs.
Does it hang as long as before ?
If you try to increase the delay again, does that help?
Edit sys/dev/usb/umass.c
Then lookup:
usbd_delay_ms(uaa->device, 1000);
Change it into:
usbd_delay_ms(uaa->device, 5000);
>
> Thank you for your time. Let me know if you want me to try other
> changes. May be it would be easier if you could create a branch in svn
> with the changes needed?
Maybe.
--HPS
More information about the freebsd-usb
mailing list