On Mon, 4 Oct 2004, Geoff Oakham wrote: > Hi there, > > One of my control messages is returning 'EPIPE' when my system is under > heavy load. I'm stumped; does anyone have any suggestions?
You're working on a kernel driver for this device, right? What does the device do? > It's not an endpoint stall (clear_halt() fails). What do you mean by that? I don't think there's any way to get -EPIPE other than by receiving a STALL token. And what do you mean, clear_halt() fails? In what way does it fail? (Not that there's generally much point in doing clear_halt() for endpoint 0.) > 90% of the time, I can > work around by re-issuing the request (once). But the other 10% of the > time, *both* requests succeed--even the original one that returned > -EPIPE. How do you know the request succeeded? What _was_ the request anyway? > Here are the details. It happens: > > -under heavy load (high disk activity) > -uhcl chipset only (ohcl and ehcl behave) > -linux 2.6.x (2.6.8.1, 2.6.9-rc3) > -iRiver iFP-5xx device > -usb_control_msg() > -always the same control message. (One requesting bulk data.) I can't imagine that disk activity has anything to do with it -- unless the iFP-5xx is a USB mass storage device and you're doing disk I/O to it at the same time as your driver is running. That sort of combination is known to cause problems in some devices. Of course, it wouldn't depend on which host controller you use. Can you provide more details? Alan Stern ------------------------------------------------------- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel