applicom: push BKL down into driver
PATCH 1/1 applicom: push BKL down into driver
Not a lot of elimination here just push it down so someone can do it later.
Signed-off-by Alan Cox <[email protected]>
drivers/char/applicom.c +7 -4
@@ -104,8 +104,7 @@ static unsigned int DeviceErrorCount; /* number of device error */static ssize_t ac_read (struct file *,char __user *,size_t ,loff_t *);static ssize_t ac_write (struct file *,const char __user *,size_t ,loff_t *); -static int ac_ioctl (struct inode *,struct file *,unsigned int , -unsigned long ); +static long ac_ioctl (struct file *,unsigned int ,unsigned long );static irqreturn_t ac_interrupt (int ,void *);static const struct file_operations ac_fops = {
@@ -113,7 +112,7 @@ static const struct file_operations ac_fops = { .llseek = no_llseek, .read = ac_read, .write = ac_write, - .ioctl = ac_ioctl, + .unlocked_ioctl = ac_ioctl, };static struct miscdevice ac_miscdev = {
@@ -687,7 +686,7 @@ static irqreturn_t ac_interrupt(int vec, void *dev_instance) -static int ac_ioctl (struct inode *inode,struct file *file,unsigned int cmd,unsigned long arg) +static long ac_ioctl (struct file *file,unsigned int cmd,unsigned long arg) {/* @ ADG ou ATO selon le cas */ int i;
@@ -710,6 +709,8 @@ static int ac_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unreturn -EFAULT ; } +lock_kernel (); + IndexCard = adgl->num_card-1 ; if(cmd != 0 && cmd != 6 &&
@@ -720,6 +721,7 @@ static int ac_ioctl(struct inode *inode, struct file *file, unsigned int cmd, un warncount--; }kfree (adgl); +unlock_kernel ();return -EINVAL ; }
@@ -837,6 +839,7 @@ static int ac_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unbreak ; } Dummy =readb (apbs[IndexCard].RamIO +VERS ); +unlock_kernel ();kfree (adgl);return 0 ; }