diff options
Diffstat (limited to 'drivers/hid/usbhid/hiddev.c')
| -rw-r--r-- | drivers/hid/usbhid/hiddev.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/hid/usbhid/hiddev.c b/drivers/hid/usbhid/hiddev.c index 9e9421525fb..215b2addddb 100644 --- a/drivers/hid/usbhid/hiddev.c +++ b/drivers/hid/usbhid/hiddev.c @@ -527,8 +527,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] =  |