V4L/DVB (8894): pvrusb2: Remove BKL
authorMike Isely <isely@pobox.com>
Sat, 30 Aug 2008 18:11:16 +0000 (15:11 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 12 Oct 2008 11:36:57 +0000 (09:36 -0200)
The earlier change from Hans Verkuil that pushed the BKL from
video_open() down into the drivers should be unneeded for the pvrusb2
driver.  This driver's implementation for open already protects its
internal structures through other means, thus the BKL is not required.
This change reverses Hans' previous change, for the pvrusb2 driver.

It probably would have been a good idea for Hans to previously have
asked for my ack before committing his change.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/pvrusb2/pvrusb2-v4l2.c

index 26ffaa2..00306fa 100644 (file)
@@ -932,7 +932,6 @@ static int pvr2_v4l2_open(struct inode *inode, struct file *file)
        unsigned int input_cnt,idx;
        int ret = 0;
 
-       lock_kernel();
        dip = container_of(video_devdata(file),struct pvr2_v4l2_dev,devbase);
 
        vp = dip->v4lp;
@@ -943,13 +942,11 @@ static int pvr2_v4l2_open(struct inode *inode, struct file *file)
        if (!pvr2_hdw_dev_ok(hdw)) {
                pvr2_trace(PVR2_TRACE_OPEN_CLOSE,
                           "pvr2_v4l2_open: hardware not ready");
-               unlock_kernel();
                return -EIO;
        }
 
        fhp = kzalloc(sizeof(*fhp),GFP_KERNEL);
        if (!fhp) {
-               unlock_kernel();
                return -ENOMEM;
        }
 
@@ -979,7 +976,6 @@ static int pvr2_v4l2_open(struct inode *inode, struct file *file)
                           fhp);
 
                kfree(fhp);
-               unlock_kernel();
                return ret;
        }
 
@@ -996,7 +992,6 @@ static int pvr2_v4l2_open(struct inode *inode, struct file *file)
                           "Destroying pvr_v4l2_fh id=%p (input map failure)",
                           fhp);
                kfree(fhp);
-               unlock_kernel();
                return -ENOMEM;
        }
        input_cnt = 0;
@@ -1020,7 +1015,6 @@ static int pvr2_v4l2_open(struct inode *inode, struct file *file)
        v4l2_prio_open(&vp->prio,&fhp->prio);
 
        fhp->fw_mode_flag = pvr2_hdw_cpufw_get_enabled(hdw);
-       unlock_kernel();
 
        return 0;
 }