diff options
author | Stephen Rothwell <sfr@canb.auug.org.au> | 2010-02-22 16:21:38 +1100 |
---|---|---|
committer | Stephen Rothwell <sfr@canb.auug.org.au> | 2010-02-22 16:21:38 +1100 |
commit | 759bdb115a73efb800f732299d39314385a20b75 (patch) | |
tree | dd01631eaa4cd728a29a6dd3887c67d85c7f4fce /drivers/hid | |
parent | 977d1320a7895a5524d991b3fd669a6fd1d87d74 (diff) | |
parent | 8c741e04e54312b3cf1404a44e3c7460257d58cc (diff) |
Merge branch 'quilt/usb'
Conflicts:
drivers/usb/early/ehci-dbgp.c
Diffstat (limited to 'drivers/hid')
-rw-r--r-- | drivers/hid/usbhid/hiddev.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c index 867e08433e4b..433602aed468 100644 --- a/drivers/hid/usbhid/hiddev.c +++ b/drivers/hid/usbhid/hiddev.c @@ -265,9 +265,10 @@ static int hiddev_release(struct inode * inode, struct file * file) static int hiddev_open(struct inode *inode, struct file *file) { struct hiddev_list *list; - int res; + int res, i; - int i = iminor(inode) - HIDDEV_MINOR_BASE; + lock_kernel(); + i = iminor(inode) - HIDDEV_MINOR_BASE; if (i >= HIDDEV_MINORS || i < 0 || !hiddev_table[i]) return -ENODEV; @@ -313,10 +314,12 @@ static int hiddev_open(struct inode *inode, struct file *file) usbhid_open(hid); } + unlock_kernel(); return 0; bail: file->private_data = NULL; kfree(list); + unlock_kernel(); return res; } |