projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
20613f2
)
dvb: cdev lock_kernel() pushdown
author
Jonathan Corbet
<corbet@lwn.net>
Thu, 15 May 2008 22:26:57 +0000
(16:26 -0600)
committer
Jonathan Corbet
<corbet@lwn.net>
Fri, 20 Jun 2008 20:05:50 +0000
(14:05 -0600)
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
drivers/media/dvb/dvb-core/dvbdev.c
patch
|
blob
|
history
diff --git
a/drivers/media/dvb/dvb-core/dvbdev.c
b/drivers/media/dvb/dvb-core/dvbdev.c
index 8b56d929f7fd52c63f1fbda3165bcce33d0aa11d..e208a60c048ad930ebdade3ff274efdbf039fb1f 100644
(file)
--- a/
drivers/media/dvb/dvb-core/dvbdev.c
+++ b/
drivers/media/dvb/dvb-core/dvbdev.c
@@
-32,6
+32,7
@@
#include <linux/fs.h>
#include <linux/cdev.h>
#include <linux/mutex.h>
+#include <linux/smp_lock.h>
#include "dvbdev.h"
static int dvbdev_debug;
@@
-74,6
+75,7
@@
static int dvb_device_open(struct inode *inode, struct file *file)
{
struct dvb_device *dvbdev;
+ lock_kernel();
dvbdev = dvbdev_find_device (iminor(inode));
if (dvbdev && dvbdev->fops) {
@@
-90,8
+92,10
@@
static int dvb_device_open(struct inode *inode, struct file *file)
file->f_op = fops_get(old_fops);
}
fops_put(old_fops);
+ unlock_kernel();
return err;
}
+ unlock_kernel();
return -ENODEV;
}