Question about pipes and ugen

Julian Elischer julian at elischer.org
Fri Dec 3 14:31:03 PST 2004



M. Warner Losh wrote:

>In message: <41B0E3E0.4030207 at elischer.org>
>            Julian Elischer <julian at elischer.org> writes:
>: When the device times out on endpoint 3, Linux (thorugh libusb) issues a 
>: ClearFeature(Halt)
>: which seems to get everything going again. FreeBSD doesn't, so we  have 
>: to power teh device
>: down and re-power it (!yuk!).
>
>I have a device that times out.  I'll note that FreeBSD does send a
>ClearFeature(Halt) to that device's endpoint in that case, as I've
>verified with my usb sniffer.  However, we didn't always do that, and
>some older 4.x versions of FreeBSD definitely don't do it right and
>sends nothing.
>

Have you seen crashed resulting from EHCI timeouts?
the EHCI driver releases teh xfer and buffers before teh hardware has 
finished with them
and if the command then completes, teh data is DMA's into the now "free" 
buffer,
currupting th elinked list pointers for the free list.
(verified on 4.x and -current).


>
>I'm having a hard time understanding when this is needed and not
>actually done by our -current stack.
>
Well, I'll check again because I'm runnig 4-stable at the USB sniffer.. 
I have however confirmed that the
same behaviour is seen on a 6-current machine but I didn't have the 
sniffer on that (too far away).
I'll go check that it actually looks the same on the wire.. (requires 
hauling the sniffer machine..)

>
>Warner
>  
>



More information about the freebsd-usb mailing list