Oliver Neukum wrote:
What's wrong with using the fine macros provided in 2.5 to sleep with
TASK_INTERRUPTIBLE and unlink in the interruption case?

The current synchronous calls force TASK_UNINTERRUPTIBLE, and I don't know what macros you're talking about that would do all that. Is there some other synchronous API for urbs, about which I'm unaware?


Sorry, I was confused and thought you'd refer to ordinary usb_submit_urb().

No ... _synchronous_ calls are where most problems seem to lurk.



Indeed there is a problem. Yet we cannot simply change them all to use
interruptible sleep. You cannot stop in the middle of usb_reset_device()
or similar calls.

Only done by SCSI EH handler threads for now though, yes? Those could have a "block all signals" policy if it wants; maybe it does so already.

The same kind of thing holds true for khubd and enumeration.  Any
task doing a config change (like set_interface) should block signals,
but otherwise I suspect all synchronous calls should be interruptible
by default ... though someone ought to look for other cases where
that's not true.


Should we simply add a flag to the synchronous calls or add interruptible
versions?

Aren't those two options identical? Both are API syntax changes. :)


- Dave



        Regards
                Oliver







-------------------------------------------------------
This SF.net email is sponsored by:Crypto Challenge is now open! Get cracking and register here for some mind boggling fun and the chance of winning an Apple iPod:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to