summaryrefslogtreecommitdiffstats
path: root/drivers/hid
diff options
context:
space:
mode:
authorJason Gerecke <killertofu@gmail.com>2017-09-07 17:47:38 -0700
committerJiri Kosina <jkosina@suse.cz>2017-09-13 19:14:48 +0200
commit92380b572d95caf48f8424746aeee63c5a2b1922 (patch)
treef2d7d95bf58d0c16668c4eecd565f297c589c881 /drivers/hid
parent993f0d93f8538c15bd5c12a1a9fd74c777efea1b (diff)
downloadlinux-92380b572d95caf48f8424746aeee63c5a2b1922.tar.gz
linux-92380b572d95caf48f8424746aeee63c5a2b1922.tar.bz2
linux-92380b572d95caf48f8424746aeee63c5a2b1922.zip
HID: wacom: generic: Clear ABS_MISC when tool leaves proximity
The tool ID information sent in ABS_MISC is expected to be reset to 0 when a tool leaves proximity. Not doing this can cause problems if a tool is removed and then re-introduced. Kernel event filtering will prevent the (identical) ABS_MISC event from being sent when the tool re-enters proxmity. This can cause userspace to not properly set the tool ID. Fixes: f85c9dc678 ("HID: wacom: generic: Support tool ID and additional tool types") Cc: stable # v4.10 <stable@vger.kernel.org> Signed-off-by: Ping Cheng <ping.cheng@wacom.com> Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid')
-rw-r--r--drivers/hid/wacom_wac.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
index e2ba36da6e20..aa692e28b2cd 100644
--- a/drivers/hid/wacom_wac.c
+++ b/drivers/hid/wacom_wac.c
@@ -2272,7 +2272,7 @@ static void wacom_wac_pen_report(struct hid_device *hdev,
input_report_key(input, wacom_wac->tool[0], prox);
if (wacom_wac->serial[0]) {
input_event(input, EV_MSC, MSC_SERIAL, wacom_wac->serial[0]);
- input_report_abs(input, ABS_MISC, id);
+ input_report_abs(input, ABS_MISC, prox ? id : 0);
}
wacom_wac->hid_data.tipswitch = false;