OSDN Git Service

HID: hid-sensor-hub: Fix issue with devices with no report ID
authorPablo Ceballos <pceballos@google.com>
Tue, 3 Nov 2020 00:29:39 +0000 (19:29 -0500)
committerJiri Kosina <jkosina@suse.cz>
Thu, 5 Nov 2020 10:09:28 +0000 (11:09 +0100)
Some HID devices don't use a report ID because they only have a single
report. In those cases, the report ID in struct hid_report will be zero
and the data for the report will start at the first byte, so don't skip
over the first byte.

Signed-off-by: Pablo Ceballos <pceballos@google.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-sensor-hub.c

index 94c7398..3dd7d32 100644 (file)
@@ -483,7 +483,8 @@ static int sensor_hub_raw_event(struct hid_device *hdev,
                return 1;
 
        ptr = raw_data;
-       ptr++; /* Skip report id */
+       if (report->id)
+               ptr++; /* Skip report id */
 
        spin_lock_irqsave(&pdata->lock, flags);