summaryrefslogtreecommitdiff
path: root/drivers/hid/wacom_wac.c
diff options
context:
space:
mode:
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>2015-03-05 17:36:35 -0500
committerJiri Kosina <jkosina@suse.cz>2015-03-17 20:59:55 +0100
commite2c7d8877e5caa2356b5bc8207535e83b126f653 (patch)
tree09de6c100ca6990b8fafbf0fe21ad1fa602a15b8 /drivers/hid/wacom_wac.c
parent9b028649b9d0ae72090904629dad06b022f4ddc7 (diff)
HID: wacom: check for wacom->shared before following the pointer
486b908 (HID: wacom: do not send pen events before touch is up/forced out) introduces a kernel oops when plugging a tablet without touch. wacom->shared is null for these devices so this leads to a null pointer exception. Change the condition to make it clear that what we need is wacom->shared not NULL. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/wacom_wac.c')
-rw-r--r--drivers/hid/wacom_wac.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
index cf767419cdc4..bbe32d66e500 100644
--- a/drivers/hid/wacom_wac.c
+++ b/drivers/hid/wacom_wac.c
@@ -551,11 +551,12 @@ static int wacom_intuos_inout(struct wacom_wac *wacom)
(features->type == CINTIQ && !(data[1] & 0x40)))
return 1;
- if (features->quirks & WACOM_QUIRK_MULTI_INPUT)
+ if (wacom->shared) {
wacom->shared->stylus_in_proximity = true;
- if (wacom->shared->touch_down)
- return 1;
+ if (wacom->shared->touch_down)
+ return 1;
+ }
/* in Range while exiting */
if (((data[1] & 0xfe) == 0x20) && wacom->reporting_data) {