On Wed, 7 Apr 2004 07:29:45 +0200
Luca Risolia <[EMAIL PROTECTED]> wrote:
> down(&cam->dev_sem);
> + /* Recheck: there may be several waiters */
> + if (cam->users)
> + goto sleep;
> }
Hmm. Why not this:
--- linux-2.4.26-rc1/drivers/usb/w9968cf.c 2004-02-26 14:09:59.000000000 -0800
+++ linux-2.4.26-rc1-nip/drivers/usb/w9968cf.c 2004-04-07 15:15:40.000000000 -0700
@@ -2943,7 +2943,7 @@
return -ENODEV;
}
- if (cam->users) {
+ while (cam->users) {
DBG(2, "%s (/dev/video%d) has been already occupied by '%s'.",
symbolic(camlist, cam->id),cam->v4ldev->minor,cam->command)
if ((filp->f_flags & O_NONBLOCK)||(filp->f_flags & O_NDELAY)) {
@@ -3632,7 +3632,7 @@
if (copy_from_user(&tuner, arg, sizeof(tuner)))
return -EFAULT;
- if (tuner.tuner != 0);
+ if (tuner.tuner != 0)
return -EINVAL;
strcpy(tuner.name, "no_tuner");
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel