From: Jiri Slaby Date: Fri, 19 Jun 2009 21:24:11 +0000 (+0200) Subject: HID: hiddev, fix lock imbalance X-Git-Tag: v2.6.27.29~24 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=062ca00319a240aed40c341a12ce75429f99cfee;p=thirdparty%2Fkernel%2Fstable.git HID: hiddev, fix lock imbalance commit 4859484b0957ddc7fe3e0fa349d98b0f1c7876bd upstream. Add omitted BKL to one switch/case. Signed-off-by: Jiri Slaby Signed-off-by: Jiri Kosina Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c index 842e9edb888ed..993772c6f1f2c 100644 --- a/drivers/hid/usbhid/hiddev.c +++ b/drivers/hid/usbhid/hiddev.c @@ -484,8 +484,10 @@ static noinline int hiddev_ioctl_usage(struct hiddev *hiddev, unsigned int cmd, goto goodreturn; case HIDIOCGCOLLECTIONINDEX: + i = field->usage[uref->usage_index].collection_index; + unlock_kernel(); kfree(uref_multi); - return field->usage[uref->usage_index].collection_index; + return i; case HIDIOCGUSAGES: for (i = 0; i < uref_multi->num_values; i++) uref_multi->values[i] =