|
@@ -290,7 +290,12 @@ static int cp2112_hid_output(struct hid_device *hdev, u8 *data, size_t count,
|
|
|
if (!buf)
|
|
|
return -ENOMEM;
|
|
|
|
|
|
- ret = hdev->hid_output_raw_report(hdev, buf, count, report_type);
|
|
|
+ if (report_type == HID_OUTPUT_REPORT)
|
|
|
+ ret = hid_hw_output_report(hdev, buf, count);
|
|
|
+ else
|
|
|
+ ret = hid_hw_raw_request(hdev, buf[0], buf, count, report_type,
|
|
|
+ HID_REQ_SET_REPORT);
|
|
|
+
|
|
|
kfree(buf);
|
|
|
return ret;
|
|
|
}
|