diff options
author | Arnd Bergmann <arnd@arndb.de> | 2010-09-11 19:56:45 +0200 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2010-10-19 11:29:56 +0200 |
commit | 72024f1ec5164a70d84dd8cf4458fe4064a6b692 (patch) | |
tree | fb0848c2bb91af16f46e2fca8de55675f9b1e3d2 /drivers/media/dvb/dvb-core/dvb_net.c | |
parent | adfedd216d9f0bc3f5bfa8aab42932301d4edc31 (diff) |
dvb-core: kill the big kernel lock
The dvb core only uses the big kernel lock in the open
and ioctl functions, which means it can be replaced with
a dvb specific mutex. Fortunately, all the ioctl functions
go through dvb_usercopy, so we can move the serialization
in there.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
Cc: linux-media@vger.kernel.org
Diffstat (limited to 'drivers/media/dvb/dvb-core/dvb_net.c')
-rw-r--r-- | drivers/media/dvb/dvb-core/dvb_net.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/media/dvb/dvb-core/dvb_net.c b/drivers/media/dvb/dvb-core/dvb_net.c index 6c3a8a06ccab..a08032284cbf 100644 --- a/drivers/media/dvb/dvb-core/dvb_net.c +++ b/drivers/media/dvb/dvb-core/dvb_net.c @@ -59,7 +59,6 @@ #include <linux/netdevice.h> #include <linux/etherdevice.h> #include <linux/dvb/net.h> -#include <linux/smp_lock.h> #include <linux/uio.h> #include <asm/uaccess.h> #include <linux/crc32.h> @@ -1445,13 +1444,7 @@ static int dvb_net_do_ioctl(struct file *file, static long dvb_net_ioctl(struct file *file, unsigned int cmd, unsigned long arg) { - int ret; - - lock_kernel(); - ret = dvb_usercopy(file, cmd, arg, dvb_net_do_ioctl); - unlock_kernel(); - - return ret; + return dvb_usercopy(file, cmd, arg, dvb_net_do_ioctl); } static int dvb_net_close(struct inode *inode, struct file *file) |