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.

>> We're thinking about looking at this on a logic analyzer to try to see
>> if the HC seems to have attempted to update HeadP, but unfortunately we
>> didn't have room on the board for test points, so it's going to be messy.
> 
> Suppose it really does turn out to be a hardware bug in your particular 
> brand of HC.  Then what would you like to do about it?

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.

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.

Mike

-------------------------------------------------------------------------
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