USB: usblcd: drop redundant lcd mutex
Drop the redundant lcd mutex introduced by commit 925ce689bb
("USB:
autoconvert trivial BKL users to private mutex") which replaced an
earlier BKL use.
The lock serialised calls to open() against other open() and a custom
ioctl() returning the bcdDevice (sic!), but neither is needed.
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20190926091228.24634-9-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
61991d02fd
commit
d046fd5e05
|
@ -30,7 +30,6 @@
|
|||
#define IOCTL_GET_DRV_VERSION 2
|
||||
|
||||
|
||||
static DEFINE_MUTEX(lcd_mutex);
|
||||
static const struct usb_device_id id_table[] = {
|
||||
{ .idVendor = 0x10D2, .match_flags = USB_DEVICE_ID_MATCH_VENDOR, },
|
||||
{ },
|
||||
|
@ -81,12 +80,10 @@ static int lcd_open(struct inode *inode, struct file *file)
|
|||
struct usb_interface *interface;
|
||||
int subminor, r;
|
||||
|
||||
mutex_lock(&lcd_mutex);
|
||||
subminor = iminor(inode);
|
||||
|
||||
interface = usb_find_interface(&lcd_driver, subminor);
|
||||
if (!interface) {
|
||||
mutex_unlock(&lcd_mutex);
|
||||
printk(KERN_ERR "USBLCD: %s - error, can't find device for minor %d\n",
|
||||
__func__, subminor);
|
||||
return -ENODEV;
|
||||
|
@ -101,13 +98,11 @@ static int lcd_open(struct inode *inode, struct file *file)
|
|||
r = usb_autopm_get_interface(interface);
|
||||
if (r < 0) {
|
||||
kref_put(&dev->kref, lcd_delete);
|
||||
mutex_unlock(&lcd_mutex);
|
||||
return r;
|
||||
}
|
||||
|
||||
/* save our object in the file's private structure */
|
||||
file->private_data = dev;
|
||||
mutex_unlock(&lcd_mutex);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -176,14 +171,12 @@ static long lcd_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
|||
|
||||
switch (cmd) {
|
||||
case IOCTL_GET_HARD_VERSION:
|
||||
mutex_lock(&lcd_mutex);
|
||||
bcdDevice = le16_to_cpu((dev->udev)->descriptor.bcdDevice);
|
||||
sprintf(buf, "%1d%1d.%1d%1d",
|
||||
(bcdDevice & 0xF000)>>12,
|
||||
(bcdDevice & 0xF00)>>8,
|
||||
(bcdDevice & 0xF0)>>4,
|
||||
(bcdDevice & 0xF));
|
||||
mutex_unlock(&lcd_mutex);
|
||||
if (copy_to_user((void __user *)arg, buf, strlen(buf)) != 0)
|
||||
return -EFAULT;
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue