forked from Minki/linux
HID: pass numbered reports properly to hidraw
The numbered reports need to be passed properly to hidraw (i.e. with the first data field indicating the report number), otherwise userspace has no idea about the identification of the report. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
671d994cfb
commit
b54ec3c13c
@ -988,8 +988,13 @@ int hid_input_report(struct hid_device *hid, int type, u8 *data, int size, int i
|
||||
|
||||
if ((hid->claimed & HID_CLAIMED_HIDDEV) && hid->hiddev_report_event)
|
||||
hid->hiddev_report_event(hid, report);
|
||||
if (hid->claimed & HID_CLAIMED_HIDRAW)
|
||||
hidraw_report_event(hid, data, size);
|
||||
if (hid->claimed & HID_CLAIMED_HIDRAW) {
|
||||
/* numbered reports need to be passed with the report num */
|
||||
if (report_enum->numbered)
|
||||
hidraw_report_event(hid, data - 1, size + 1);
|
||||
else
|
||||
hidraw_report_event(hid, data, size);
|
||||
}
|
||||
|
||||
for (n = 0; n < report->maxfield; n++)
|
||||
hid_input_field(hid, report->field[n], data, interrupt);
|
||||
|
Loading…
Reference in New Issue
Block a user