The data coming from the vmbus is really a hid descriptor, so use that
structure instead of having to mess around with a character array and
pointer fun.
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: K. Y. Srinivasan <kys@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
struct synthhid_device_info {
struct synthhid_msg_hdr header;
struct hv_input_dev_info hid_dev_info;
- unsigned char HidDescriptorInformation[1];
+ struct hid_descriptor hid_descriptor;
};
struct synthhid_device_info_ack {
memcpy(&InputDevice->hid_dev_info, &DeviceInfo->hid_dev_info, sizeof(struct hv_input_dev_info));
/* Save the hid desc */
- desc = (struct hid_descriptor *)DeviceInfo->HidDescriptorInformation;
+ desc = &DeviceInfo->hid_descriptor;
WARN_ON(desc->bLength > 0);
InputDevice->HidDesc = kzalloc(desc->bLength, GFP_KERNEL);