Lines Matching refs:uref_multi
431 struct hiddev_usage_ref_multi *uref_multi = NULL; in hiddev_ioctl_usage() local
437 uref_multi = kmalloc(sizeof(struct hiddev_usage_ref_multi), GFP_KERNEL); in hiddev_ioctl_usage()
438 if (!uref_multi) in hiddev_ioctl_usage()
440 uref = &uref_multi->uref; in hiddev_ioctl_usage()
442 if (copy_from_user(uref_multi, user_arg, in hiddev_ioctl_usage()
443 sizeof(*uref_multi))) in hiddev_ioctl_usage()
509 if (uref_multi->num_values > HID_MAX_MULTI_USAGES || in hiddev_ioctl_usage()
510 uref->usage_index + uref_multi->num_values > in hiddev_ioctl_usage()
517 uref_multi->num_values); in hiddev_ioctl_usage()
537 kfree(uref_multi); in hiddev_ioctl_usage()
540 for (i = 0; i < uref_multi->num_values; i++) in hiddev_ioctl_usage()
541 uref_multi->values[i] = in hiddev_ioctl_usage()
543 if (copy_to_user(user_arg, uref_multi, in hiddev_ioctl_usage()
544 sizeof(*uref_multi))) in hiddev_ioctl_usage()
548 for (i = 0; i < uref_multi->num_values; i++) in hiddev_ioctl_usage()
550 uref_multi->values[i]; in hiddev_ioctl_usage()
555 kfree(uref_multi); in hiddev_ioctl_usage()
558 kfree(uref_multi); in hiddev_ioctl_usage()
561 kfree(uref_multi); in hiddev_ioctl_usage()