diff options
author | Andi Kleen <ak@linux.intel.com> | 2010-06-01 17:04:41 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-08-10 17:35:35 -0400 |
commit | c532b29a6f6d31e84a7c88f995eebdc75ebd4248 (patch) | |
tree | 5b8dbfae37f6c3c1530ee3651c9d28e00bd15f5e /drivers/usb/core/devio.c | |
parent | 6e12ea4658487ba9c746e95b31014cb89f63703b (diff) |
USB-BKL: Convert usb_driver ioctl to unlocked_ioctl
And audit all the users. None needed the BKL. That was easy
because there was only very few around.
Tested with allmodconfig build on x86-64
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>
From: Andi Kleen <ak@linux.intel.com>
Diffstat (limited to 'drivers/usb/core/devio.c')
-rw-r--r-- | drivers/usb/core/devio.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c index c2f62a3993d2..f1aaff6202a5 100644 --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c | |||
@@ -1668,13 +1668,10 @@ static int proc_ioctl(struct dev_state *ps, struct usbdevfs_ioctl *ctl) | |||
1668 | default: | 1668 | default: |
1669 | if (intf->dev.driver) | 1669 | if (intf->dev.driver) |
1670 | driver = to_usb_driver(intf->dev.driver); | 1670 | driver = to_usb_driver(intf->dev.driver); |
1671 | if (driver == NULL || driver->ioctl == NULL) { | 1671 | if (driver == NULL || driver->unlocked_ioctl == NULL) { |
1672 | retval = -ENOTTY; | 1672 | retval = -ENOTTY; |
1673 | } else { | 1673 | } else { |
1674 | /* keep API that guarantees BKL */ | 1674 | retval = driver->unlocked_ioctl(intf, ctl->ioctl_code, buf); |
1675 | lock_kernel(); | ||
1676 | retval = driver->ioctl(intf, ctl->ioctl_code, buf); | ||
1677 | unlock_kernel(); | ||
1678 | if (retval == -ENOIOCTLCMD) | 1675 | if (retval == -ENOIOCTLCMD) |
1679 | retval = -ENOTTY; | 1676 | retval = -ENOTTY; |
1680 | } | 1677 | } |