HID: wacom: generic: read HID_DG_CONTACTMAX from any feature report
authorAaron Armstrong Skomra <skomra@gmail.com>
Wed, 12 Jun 2019 21:19:29 +0000 (14:19 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 21 Sep 2019 05:15:26 +0000 (07:15 +0200)
commit4e268e9c404a3565acfdc21af71e3bce5531b839
tree0bb7b5cba310d791a561bf3f505bb7ec0b89a0e8
parentb10ab5e2c476b69689bc0c46d309471b597c880c
HID: wacom: generic: read HID_DG_CONTACTMAX from any feature report

commit 184eccd40389df29abefab88092c4ff33191fd0c upstream.

In the generic code path, HID_DG_CONTACTMAX was previously
only read from the second byte of report 0x23.

Another report (0x82) has the HID_DG_CONTACTMAX in the
higher nibble of the third byte. We should support reading the
value of HID_DG_CONTACTMAX no matter what report we are reading
or which position that value is in.

To do this we submit the feature report as a event report
using hid_report_raw_event(). Our modified finger event path
records the value of HID_DG_CONTACTMAX when it sees that usage.

Fixes: 8ffffd5212846 ("HID: wacom: fix timeout on probe for some wacoms")
Signed-off-by: Aaron Armstrong Skomra <aaron.skomra@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/hid/wacom_sys.c
drivers/hid/wacom_wac.c