From: Arnd Bergmann Date: Tue, 1 Jun 2010 21:04:44 +0000 (+0200) Subject: usb: gadget: Do not take BKL for gadget->ops->ioctl X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=1548b13b75a2ec06f46220004e91c37818be6c18;p=openwrt%2Fstaging%2Fblogic.git usb: gadget: Do not take BKL for gadget->ops->ioctl There is no gadget driver in the tree that actually implements the ioctl operation, so obviously it is not necessary to hold the BKL around the call. Signed-off-by: Arnd Bergmann Cc: David Brownell Cc: MichaƂ Nazarewicz Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/gadget/f_fs.c b/drivers/usb/gadget/f_fs.c index 2aaa0f75c6cf..c51c21314076 100644 --- a/drivers/usb/gadget/f_fs.c +++ b/drivers/usb/gadget/f_fs.c @@ -714,9 +714,7 @@ static long ffs_ep0_ioctl(struct file *file, unsigned code, unsigned long value) struct ffs_function *func = ffs->func; ret = func ? ffs_func_revmap_intf(func, value) : -ENODEV; } else if (gadget->ops->ioctl) { - lock_kernel(); ret = gadget->ops->ioctl(gadget, code, value); - unlock_kernel(); } else { ret = -ENOTTY; } diff --git a/drivers/usb/gadget/inode.c b/drivers/usb/gadget/inode.c index 63fc171c0ed9..fc35406fc80c 100644 --- a/drivers/usb/gadget/inode.c +++ b/drivers/usb/gadget/inode.c @@ -1299,11 +1299,9 @@ static long dev_ioctl (struct file *fd, unsigned code, unsigned long value) struct usb_gadget *gadget = dev->gadget; long ret = -ENOTTY; - if (gadget->ops->ioctl) { - lock_kernel(); + if (gadget->ops->ioctl) ret = gadget->ops->ioctl (gadget, code, value); - unlock_kernel(); - } + return ret; }