usb/110855: ugen: interrupt in msgs are truncated when buffer is full

Markus Henschel m.henschel at bally-wulff.de
Thu Mar 29 15:19:14 UTC 2007


Hans Petter Selasky schrieb:
> 
> 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
> 
Hi,

changing

usbd_delay_ms(uaa->device, 1000); to
usbd_delay_ms(uaa->device, 5000);

increases the overall delay be 4 seconds :-). The value given there
doesn't seem to be related to the problem. The first returned CCW is
always invalid for that stick. I did some experiments with the other
change you suggested. When I change:

sc->sc_last_xfer_index = UMASS_T_BBB_COMMAND;  to
sc->sc_last_xfer_index = UMASS_T_BBB_STATUS;

the first CCW is still invalid but the hanging is gone (overall
detection time is still much longer than with the old usb stuff).

I also tried to use the original umass.c together with the new usb
stack. It seems to work. There result is similar to changing
sc->sc_last_xfer_index = UMASS_T_BBB_STATUS.




-- 
Regards,



Markus Henschel
Development

BALLY WULFF Automaten GmbH
Maybachufer 48-51
12045 Berlin
Phone:  +49(30)62002 161
FAX:    +49(30)62002 230
http://www.ballywulff.de


More information about the freebsd-usb mailing list