The patch number 8418 was added via Mauro Carvalho Chehab <[EMAIL PROTECTED]>
to http://linuxtv.org/hg/v4l-dvb master development tree.
Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel
If anyone has any objections, please let us know by sending a message to:
[EMAIL PROTECTED]
------
From: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
backport commit 6606470dd1d628878383c96d10b52a77986ddac7
Author: Jonathan Corbet <[EMAIL PROTECTED]>
Date: Fri May 16 14:28:31 2008 -0600
videodev: BKL pushdown
Put explicit lock_kernel() calls into videodev_open(). That function
itself seems OK, but one never knows about all the open() functions
provided by underlying video drivers.
Signed-off-by: Mauro Carvalho Chehab <[EMAIL PROTECTED]>
---
linux/drivers/media/video/videodev.c | 4 ++++
1 file changed, 4 insertions(+)
diff -r 3d8874db4b49 -r 0595660d059e linux/drivers/media/video/videodev.c
--- a/linux/drivers/media/video/videodev.c Fri Jul 18 08:35:40 2008 -0300
+++ b/linux/drivers/media/video/videodev.c Sat Jul 19 23:53:41 2008 -0300
@@ -40,6 +40,7 @@
#include <linux/init.h>
#include <linux/kmod.h>
#include <linux/slab.h>
+#include <linux/smp_lock.h>
#include <asm/uaccess.h>
#include <asm/system.h>
@@ -492,6 +493,7 @@ static int video_open(struct inode *inod
if(minor>=VIDEO_NUM_DEVICES)
return -ENODEV;
+ lock_kernel();
mutex_lock(&videodev_lock);
vfl=video_device[minor];
if(vfl==NULL) {
@@ -501,6 +503,7 @@ static int video_open(struct inode *inod
vfl=video_device[minor];
if (vfl==NULL) {
mutex_unlock(&videodev_lock);
+ unlock_kernel();
return -ENODEV;
}
}
@@ -518,6 +521,7 @@ static int video_open(struct inode *inod
}
fops_put(old_fops);
mutex_unlock(&videodev_lock);
+ unlock_kernel();
return err;
}
---
Patch is available at:
http://linuxtv.org/hg/v4l-dvb/rev/0595660d059e3711e083fcef8c6c0ab2ca2d869f
_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits