On Fri, 6 Jul 2007, Mike Nuss wrote:

> Alan Stern wrote:
> > AFAIK there are only two lists (apart from the "done" list): the
> > periodic list and the async list.  The HC is allowed and expected to
> > jump between them during the course of a single frame.
> 
> This should be very easy to test, so I'll make it the next thing I check.
> 
> > It could be done whenever a SOF or URB-completion interrupt is
> > received, for example.
> 
> Those would depend on there being at least one other active endpoint
> though, correct? I believe ohci-hcd doesn't usually enable SOF except
> during cleanup. Let's say a single device with a read endpoint and a
> write endpoint was connected to the root hub. I could imagine a USB
> driver that needs to wait for some read to complete before issuing any
> further writes.

Here's what I meant.  Normally SOF interrupts are disabled, but when 
the driver gets a completion interrupt for an URB it could turn on the 
SOF interrupt for the next frame only.  Then when the next interrupt 
occurs the driver could compare the ED states with the donelist, 
checking for inconsistencies.

Of course, doing this would require some major changes in ohci-hcd.

> The important thing from our point of view is to verify that the problem
> does lie there and not elsewhere in the system. I'm almost certain now
> that the Linux OHCI driver is behaving correctly, but until yesterday
> that was still in question. So it's either a pure bug in the ZF part, or
> some external event that's causing it to behave erratically.

It's hard to imagine what sort of event could cause that behavior.  But 
hardware does some strange things.

> If it does turn out to be a problem with their silicon, we'll notify ZF
> of the problem. I'll move my fix completely down into the OHCI driver
> space, assuming we can decide on a reasonable place to do the check. It
> can be dependent on the already existing OHCI_QUIRK_ZFMICRO, if it's
> worth including in the mainstream kernel.

Okay.

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