dvb: cdev lock_kernel() pushdown

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
Jonathan Corbet 2008-05-15 16:26:57 -06:00
parent 20613f24bc
commit 5794e1b14b
1 changed files with 4 additions and 0 deletions

View File

@ -32,6 +32,7 @@
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/cdev.h> #include <linux/cdev.h>
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/smp_lock.h>
#include "dvbdev.h" #include "dvbdev.h"
static int dvbdev_debug; static int dvbdev_debug;
@ -74,6 +75,7 @@ static int dvb_device_open(struct inode *inode, struct file *file)
{ {
struct dvb_device *dvbdev; struct dvb_device *dvbdev;
lock_kernel();
dvbdev = dvbdev_find_device (iminor(inode)); dvbdev = dvbdev_find_device (iminor(inode));
if (dvbdev && dvbdev->fops) { 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); file->f_op = fops_get(old_fops);
} }
fops_put(old_fops); fops_put(old_fops);
unlock_kernel();
return err; return err;
} }
unlock_kernel();
return -ENODEV; return -ENODEV;
} }