diff options
| -rw-r--r-- | drivers/hid/hid-hyperv.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/hid/hid-hyperv.c b/drivers/hid/hid-hyperv.c index aa3fec0d9dc6..713217380b44 100644 --- a/drivers/hid/hid-hyperv.c +++ b/drivers/hid/hid-hyperv.c | |||
| @@ -199,13 +199,11 @@ static void mousevsc_on_receive_device_info(struct mousevsc_dev *input_device, | |||
| 199 | if (desc->bLength == 0) | 199 | if (desc->bLength == 0) |
| 200 | goto cleanup; | 200 | goto cleanup; |
| 201 | 201 | ||
| 202 | input_device->hid_desc = kzalloc(desc->bLength, GFP_ATOMIC); | 202 | input_device->hid_desc = kmemdup(desc, desc->bLength, GFP_ATOMIC); |
| 203 | 203 | ||
| 204 | if (!input_device->hid_desc) | 204 | if (!input_device->hid_desc) |
| 205 | goto cleanup; | 205 | goto cleanup; |
| 206 | 206 | ||
| 207 | memcpy(input_device->hid_desc, desc, desc->bLength); | ||
| 208 | |||
| 209 | input_device->report_desc_size = desc->desc[0].wDescriptorLength; | 207 | input_device->report_desc_size = desc->desc[0].wDescriptorLength; |
| 210 | if (input_device->report_desc_size == 0) { | 208 | if (input_device->report_desc_size == 0) { |
| 211 | input_device->dev_info_status = -EINVAL; | 209 | input_device->dev_info_status = -EINVAL; |
