Martin Diehl wrote:

Hm, obviously I've missed something - since the completion callback is called from the interrupt, my understanding is at least on UP the only thing we could race with is the HC itself. But why would a delay in the completion callback help then - my assumption is all the critical stuff is done before the HCD decides to giveback the urb?

It should be. But there's a short-cut that OHCI has taken forever (2.2 usb-ohci does it!!), leaving a short window where the HCD thinks the HC isn't using an ED ... wrongly. And into that window can sneak confusion, unless a delay closes it first.

The patch I just posted stops taking that short-cut, and
forces the two to be always in sync.  "Obviously correct",
unlike the previous logic.


So it could be a race when unlinking the last TD from the ED and removing the ED from the active schedule?

I'm not sure I'd fully characterize the details right now, but that patch changes the way EDs with empty queues get removed from the schedule. The HC and HCD ended up disagreeing about which TD was _currently_ the dummy, because the HC was able to read some "old" answers, and you saw the confused result.


Btw, while talking about the usbtest-firmware. I'm almost done with adding the ISO support. It seems it might even work ;-)

Cool!



So far I've tried with ohci_hcd and a slightly modified version of usbtest. No luck however with ehci_hcd. First I got nothing but ENOSYS because the split-iso support is disabled in 2.6.4-rc1. Enabling it didn't help because it didn't build due to some missing sitd_* functions. I guess I'd need some patches?

Yes, this one is queued for after 2.6.4 freezes:


http://marc.theaimsgroup.com/?l=linux-usb-devel&m=107790500929613&w=2

I think Greg said his USB queue is in the -mm patches lately.

- Dave



Martin








-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to