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

Reply via email to