Re: Patch for bizzare oops in USB

From: Thomas Sailer (sailer@scs.ch)
Date: Mon Aug 20 2001 - 06:59:37 EST


Pete Zaitcev schrieb:

> diff -ur -X dontdiff linux-2.4.8/drivers/usb/usb.c linux-2.4.8-e/drivers/usb/usb.c
> --- linux-2.4.8/drivers/usb/usb.c Tue Jul 24 14:20:56 2001
> +++ linux-2.4.8-e/drivers/usb/usb.c Fri Aug 17 22:03:27 2001
> @@ -1066,7 +1066,7 @@
>
> awd.wakeup = &wqh;
> init_waitqueue_head(&wqh);
> - current->state = TASK_INTERRUPTIBLE;
> + current->state = TASK_UNINTERRUPTIBLE; /* MUST BE SO. -- zaitcev */
> add_wait_queue(&wqh, &wait);
> urb->context = &awd;
> status = usb_submit_urb(urb);

This is bad for other users of usb_control_msg/usb_bulk_msg that depend on
the sleep to be interruptible. Instead of bouncing back and forth whether
those routines shall sleep interruptibly or uninterruptibly, we should either
provide two routines or a parameter that specifies whether the sleep
shall be interruptible, or create a local version of usb_control_msg
if ov511 is the only user requiring uninterruptible sleep.

Tom
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Aug 23 2001 - 21:00:34 EST