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

Reply via email to