aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/cx231xx
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2010-10-27 09:30:32 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-11-08 22:35:57 -0200
commit0edf2e5e2bd0ae7689ce8a57ae3c87cc1f0c6548 (patch)
tree3a7cfbea0c456f44b79db2985d8e6e7085fa4152 /drivers/media/video/cx231xx
parent2c2742da1e590f426e8d85ce4e33b69142245fb8 (diff)
downloadkernel_samsung_smdk4412-0edf2e5e2bd0ae7689ce8a57ae3c87cc1f0c6548.zip
kernel_samsung_smdk4412-0edf2e5e2bd0ae7689ce8a57ae3c87cc1f0c6548.tar.gz
kernel_samsung_smdk4412-0edf2e5e2bd0ae7689ce8a57ae3c87cc1f0c6548.tar.bz2
[media] v4l: kill the BKL
All of the hard problems for BKL removal appear to be solved in the v4l-dvb/master tree. This removes the BKL from the various open functions that do not need it, or only use it to protect an open count. The zoran driver is nontrivial in this regard, so I introduce a new mutex that locks both the open/release and the ioctl functions. Someone with access to the hardware can probably improve that by using the existing lock in all cases. Finally, all drivers that still use the locked version of the ioctl function now get called under a new mutex instead of the BKL. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/cx231xx')
-rw-r--r--drivers/media/video/cx231xx/cx231xx-417.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/media/video/cx231xx/cx231xx-417.c b/drivers/media/video/cx231xx/cx231xx-417.c
index aab21f3..4c7cac3 100644
--- a/drivers/media/video/cx231xx/cx231xx-417.c
+++ b/drivers/media/video/cx231xx/cx231xx-417.c
@@ -31,7 +31,6 @@
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/firmware.h>
-#include <linux/smp_lock.h>
#include <linux/vmalloc.h>
#include <media/v4l2-common.h>
#include <media/v4l2-ioctl.h>
@@ -1927,10 +1926,9 @@ static int mpeg_open(struct file *file)
dev = h;
}
- if (dev == NULL) {
- unlock_kernel();
+ if (dev == NULL)
return -ENODEV;
- }
+
mutex_lock(&dev->lock);
/* allocate + initialize per filehandle data */