diff options
author | Jason Gerecke <killertofu@gmail.com> | 2015-10-07 16:54:21 -0700 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2015-10-21 13:13:11 +0200 |
commit | 499522c8c015de995aabce3d0f0bf4b9b17f44c3 (patch) | |
tree | 71ee15c9be4502d28e4618e7316ce29299f606a7 /drivers/hid/hidraw.c | |
parent | e8e88438008375b17561dcc6a22abc24decf04ac (diff) | |
download | blackbird-obmc-linux-499522c8c015de995aabce3d0f0bf4b9b17f44c3.tar.gz blackbird-obmc-linux-499522c8c015de995aabce3d0f0bf4b9b17f44c3.zip |
HID: wacom: Tie cached HID_DG_CONTACTCOUNT indices to report ID
The cached indicies 'cc_index' and 'cc_value_index' introduced in 1b5d514
are only valid for a single report ID. If a touchscreen has multiple
reports with a HID_DG_CONTACTCOUNT usage, its possible that the values
will not be correct for the report we're handling, resulting in an
incorrect value for 'num_expected'. This has been observed with the Cintiq
Companion 2.
To address this, we store the ID of the report those indicies are valid
for in a new 'cc_report' variable. Before using them to get the expected
contact count, we first check if the ID of the report we're processing
matches 'cc_report'. If it doesn't, we update the indicies to point to
the HID_DG_CONTACTCOUNT usage of the current report (if it has one).
Cc: stable@vger.kernel.org
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hidraw.c')
0 files changed, 0 insertions, 0 deletions