Am Dienstag, 22. Mai 2007 18:50 schrieb Jiri Kosina: > On Tue, 22 May 2007, Alan Stern wrote: > > > But if you kill the interrupt URB then there will be no more inputs and > > hence nothing to generate any more output. Thus, when suspending you > > should kill the inputs and wait for the outputs to drain (or else > > explicitly plug the output queue). Then it will be safe to autoresume > > whenever a new output queue entry arrives. > > Hi Alan, > > I think that this is unfortunately not true. Let's take system with > multiple keyboards and their LEDs as an excellent example again. If you > kill the interrupt URB, there is nothing what will prevent other keyboard > (PS/2 or even USB keyboard, which is not yet suspended) to generate an > input event (user presses CapsLock/NumLock at a 'right' time). Then you'll > get out of sync, won't you?
That gives me an idea. Resumption of a device has to be done in task context. So if I allocate a private freezable work queue for HID resumption, the freezer would guard against illicit resumptions, wouldn't it? Regards Oliver ------------------------------------------------------------------------- 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