Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 03 Dec 2004 14:31:03 -0800
From:      Julian Elischer <julian@elischer.org>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        freebsd-usb@FreeBSD.ORG
Subject:   Re: Question about pipes and ugen
Message-ID:  <41B0E927.5020904@elischer.org>
In-Reply-To: <20041203.151630.29463265.imp@bsdimp.com>
References:  <41B0DD18.9080300@elischer.org> <20041203.144432.89673091.imp@bsdimp.com>	<41B0E3E0.4030207@elischer.org> <20041203.151630.29463265.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help


M. Warner Losh wrote:

>In message: <41B0E3E0.4030207@elischer.org>
>            Julian Elischer <julian@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
>  
>



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