USB: auerwald: Push down the BKL into the driver
Also fix the unknown ioctl return code Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
824f16fda5
commit
f1b5a7fe17
@@ -1421,7 +1421,8 @@ ofail: mutex_unlock(&cp->mutex);
|
|||||||
|
|
||||||
|
|
||||||
/* IOCTL functions */
|
/* IOCTL functions */
|
||||||
static int auerchar_ioctl (struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
|
static long auerchar_ioctl(struct file *file, unsigned int cmd,
|
||||||
|
unsigned long arg)
|
||||||
{
|
{
|
||||||
pauerchar_t ccp = (pauerchar_t) file->private_data;
|
pauerchar_t ccp = (pauerchar_t) file->private_data;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
@@ -1452,7 +1453,7 @@ static int auerchar_ioctl (struct inode *inode, struct file *file, unsigned int
|
|||||||
mutex_unlock(&ccp->mutex);
|
mutex_unlock(&ccp->mutex);
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
lock_kernel();
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
|
|
||||||
/* return != 0 if Transmitt channel ready to send */
|
/* return != 0 if Transmitt channel ready to send */
|
||||||
@@ -1547,9 +1548,10 @@ static int auerchar_ioctl (struct inode *inode, struct file *file, unsigned int
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
dbg ("IOCTL_AU_UNKNOWN");
|
dbg ("IOCTL_AU_UNKNOWN");
|
||||||
ret = -ENOIOCTLCMD;
|
ret = -ENOTTY;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
unlock_kernel();
|
||||||
/* release the mutexes */
|
/* release the mutexes */
|
||||||
mutex_unlock(&cp->mutex);
|
mutex_unlock(&cp->mutex);
|
||||||
mutex_unlock(&ccp->mutex);
|
mutex_unlock(&ccp->mutex);
|
||||||
@@ -1860,7 +1862,7 @@ static const struct file_operations auerswald_fops =
|
|||||||
.llseek = no_llseek,
|
.llseek = no_llseek,
|
||||||
.read = auerchar_read,
|
.read = auerchar_read,
|
||||||
.write = auerchar_write,
|
.write = auerchar_write,
|
||||||
.ioctl = auerchar_ioctl,
|
.unlocked_ioctl = auerchar_ioctl,
|
||||||
.open = auerchar_open,
|
.open = auerchar_open,
|
||||||
.release = auerchar_release,
|
.release = auerchar_release,
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user