On Wed, 27 Jun 2007, Mike Nuss wrote:

> It's been a while since I've written about this issue. We were able to
> sidestep it for our purposes by slightly modifying the OHCI driver to
> check a "force_unlinks" flag during finish_unlinks.
> 
> We set that flag when we detect that one of our devices seems to have
> not sent any data for the past 30 seconds (on the device side, they send
> keepalive packets at least that often now), then our device driver sets
> the force_unlinks flag and sends a command to the device to reset
> itself. The device goes away, but instead of hanging, the OHCI
> code sees that the flag is set, and assumes that the TD it's waiting for
> is never going to show up on the donelist, so it just frees it and goes
> on. Then the device finishes resetting and comes back.
> 
> Obviously this isn't a general purpose fix, but it hasn't caused any
> problems for us over the past few months. However, I seem to have found
> a way to reproduce the issue more reliably, so I'm still interested in
> trying to find the source of the problem. Which structures would you
> like me to dump? If I dump just the affected read endpoint, here's the
> output:
> 
> ohci_hcd 0000:00:13.0: read endpoint, ed c2d912c0 state 0x0 type intr;
> next ed 00000000
> ohci_hcd 0000:00:13.0:   info 08405110 MAX=64 DQ SKIP EP=2-IN DEV=16
> ohci_hcd 0000:00:13.0:   tds: head 02ba7300 DATA0 tail 02ba7300
> ohci_hcd 0000:00:13.0:   -> td c2ba7340; urb c272ca40 index 0; hw next
> td 00000000
> ohci_hcd 0000:00:13.0:      info 02140000 CC=0 DATA0 DI=0 IN R
> ohci_hcd 0000:00:13.0:      cbp 02dbe37a be 02dbe39f (len 38)
> 
> It seems suspicious to me that hwNextTD is null.
> 
> Let me know what else I can provide.

I don't have time to look at this now, but I'll get back to you next 
week.

Alan Stern


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to