> (5) The completion handler for the urb in step 1 (async_completed) > is called. The urb status is -EILSEQ (CRC error; maybe timed out?). > (6) The urb is returned to the userspace driver. > (7) The user space driver immediately submits a new bulk urb. > This is going to happen a lot (we are in a short loop, see below). > The time interval between the successive urbs generated is > 0 or 1 jiffies. The urb is sent succesfully. > (8) The urb completes straight away with status -EILSEQ. > Since the user space driver has done a USBDEVFS_REAPURB, > it immediately gets the result. > (9) Goto step 7. > > Question: why did the first urb complete with -EILSEQ when > the other device was plugged in?
And also, why did it _keep_ doing that afterwards? A quick glance at usb-uhci.c in 2.4.19-pre10 makes me wonder what other status bits might be set when it reports that. Can you tweak the "return -EILSEQ" to be more like { info ("status bits %08x", status); return -EILSEQ; } and see if perhaps some other status bit is more suggestive of the real problem. Maybe the data toggle got trashed, or something similar. - Dave ------------------------------------------------------- This sf.net email is sponsored by: Jabber Inc. Don't miss the IM event of the season | Special offer for OSDN members! JabberConf 2002, Aug. 20-22, Keystone, CO http://www.jabberconf.com/osdn _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel