On Tue, 25 Jan 2005 15:12:05 -0800, "Micon, David" <[EMAIL PROTECTED]> wrote:

>                       add_wait_queue(&list->hiddev->wait, &wait);
> -                     set_current_state(TASK_INTERRUPTIBLE);
>                       
>                       while (list->head == list->tail) {
> +                             set_current_state(TASK_INTERRUPTIBLE);
>                               if (file->f_flags & O_NONBLOCK) {

This is not likely to be right. The state must be set before a key condition
is tested, as a rule, or events are missed. State has to be changed to
TASK_INTERRUPTIBLE after a return from schedule() (which always returns
in TASK_RUNNING).

-- Pete


-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
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