sound: cdev lock_kernel() pushdown

Signed-off-by: Jonathan Corbet <corbet@lwn.net>
这个提交包含在:
Jonathan Corbet
2008-05-15 16:39:03 -06:00
父节点 fc7f687a68
当前提交 78a3c3d7c6
修改 2 个文件,包含 19 行新增1 行删除

查看文件

@@ -21,6 +21,7 @@
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/smp_lock.h>
#include <linux/time.h>
#include <linux/device.h>
#include <linux/moduleparam.h>
@@ -121,7 +122,7 @@ void *snd_lookup_minor_data(unsigned int minor, int type)
EXPORT_SYMBOL(snd_lookup_minor_data);
static int snd_open(struct inode *inode, struct file *file)
static int __snd_open(struct inode *inode, struct file *file)
{
unsigned int minor = iminor(inode);
struct snd_minor *mptr = NULL;
@@ -163,6 +164,18 @@ static int snd_open(struct inode *inode, struct file *file)
return err;
}
/* BKL pushdown: nasty #ifdef avoidance wrapper */
static int snd_open(struct inode *inode, struct file *file)
{
int ret;
lock_kernel();
ret = __snd_open(inode, file);
unlock_kernel();
return ret;
}
static const struct file_operations snd_fops =
{
.owner = THIS_MODULE,