|
@@ -444,8 +444,8 @@ static unsigned int snd_info_entry_poll(struct file *file, poll_table * wait)
|
|
|
return mask;
|
|
|
}
|
|
|
|
|
|
-static inline int _snd_info_entry_ioctl(struct inode *inode, struct file *file,
|
|
|
- unsigned int cmd, unsigned long arg)
|
|
|
+static long snd_info_entry_ioctl(struct file *file, unsigned int cmd,
|
|
|
+ unsigned long arg)
|
|
|
{
|
|
|
struct snd_info_private_data *data;
|
|
|
struct snd_info_entry *entry;
|
|
@@ -465,17 +465,6 @@ static inline int _snd_info_entry_ioctl(struct inode *inode, struct file *file,
|
|
|
return -ENOTTY;
|
|
|
}
|
|
|
|
|
|
-/* FIXME: need to unlock BKL to allow preemption */
|
|
|
-static int snd_info_entry_ioctl(struct inode *inode, struct file *file,
|
|
|
- unsigned int cmd, unsigned long arg)
|
|
|
-{
|
|
|
- int err;
|
|
|
- unlock_kernel();
|
|
|
- err = _snd_info_entry_ioctl(inode, file, cmd, arg);
|
|
|
- lock_kernel();
|
|
|
- return err;
|
|
|
-}
|
|
|
-
|
|
|
static int snd_info_entry_mmap(struct file *file, struct vm_area_struct *vma)
|
|
|
{
|
|
|
struct inode *inode = file->f_dentry->d_inode;
|
|
@@ -499,15 +488,15 @@ static int snd_info_entry_mmap(struct file *file, struct vm_area_struct *vma)
|
|
|
|
|
|
static struct file_operations snd_info_entry_operations =
|
|
|
{
|
|
|
- .owner = THIS_MODULE,
|
|
|
- .llseek = snd_info_entry_llseek,
|
|
|
- .read = snd_info_entry_read,
|
|
|
- .write = snd_info_entry_write,
|
|
|
- .poll = snd_info_entry_poll,
|
|
|
- .ioctl = snd_info_entry_ioctl,
|
|
|
- .mmap = snd_info_entry_mmap,
|
|
|
- .open = snd_info_entry_open,
|
|
|
- .release = snd_info_entry_release,
|
|
|
+ .owner = THIS_MODULE,
|
|
|
+ .llseek = snd_info_entry_llseek,
|
|
|
+ .read = snd_info_entry_read,
|
|
|
+ .write = snd_info_entry_write,
|
|
|
+ .poll = snd_info_entry_poll,
|
|
|
+ .unlocked_ioctl = snd_info_entry_ioctl,
|
|
|
+ .mmap = snd_info_entry_mmap,
|
|
|
+ .open = snd_info_entry_open,
|
|
|
+ .release = snd_info_entry_release,
|
|
|
};
|
|
|
|
|
|
/**
|