diff options
author | Benjamin Tissoires <benjamin.tissoires@redhat.com> | 2015-03-05 17:36:35 -0500 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2015-03-17 15:59:55 -0400 |
commit | e2c7d8877e5caa2356b5bc8207535e83b126f653 (patch) | |
tree | 09de6c100ca6990b8fafbf0fe21ad1fa602a15b8 /drivers/hid | |
parent | 9b028649b9d0ae72090904629dad06b022f4ddc7 (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')
-rw-r--r-- | drivers/hid/wacom_wac.c | 7 |
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) | |||
551 | (features->type == CINTIQ && !(data[1] & 0x40))) | 551 | (features->type == CINTIQ && !(data[1] & 0x40))) |
552 | return 1; | 552 | return 1; |
553 | 553 | ||
554 | if (features->quirks & WACOM_QUIRK_MULTI_INPUT) | 554 | if (wacom->shared) { |
555 | wacom->shared->stylus_in_proximity = true; | 555 | wacom->shared->stylus_in_proximity = true; |
556 | 556 | ||
557 | if (wacom->shared->touch_down) | 557 | if (wacom->shared->touch_down) |
558 | return 1; | 558 | return 1; |
559 | } | ||
559 | 560 | ||
560 | /* in Range while exiting */ | 561 | /* in Range while exiting */ |
561 | if (((data[1] & 0xfe) == 0x20) && wacom->reporting_data) { | 562 | if (((data[1] & 0xfe) == 0x20) && wacom->reporting_data) { |