HID: wacom: check for wacom->shared before following the pointer
authorBenjamin Tissoires <benjamin.tissoires@redhat.com>
Thu, 5 Mar 2015 22:36:35 +0000 (17:36 -0500)
committerJiri Kosina <jkosina@suse.cz>
Tue, 17 Mar 2015 19:59:55 +0000 (20:59 +0100)
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>
drivers/hid/wacom_wac.c

index cf767419cdc4ff05a76e79fa88721906240d4515..bbe32d66e5000157b4d3670c23350ff3fa1a0104 100644 (file)
@@ -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) {