Input: allocate absinfo data when setting ABS capability
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 27 Dec 2013 01:44:29 +0000 (17:44 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 31 Dec 2013 18:53:19 +0000 (10:53 -0800)
We need to make sure we allocate absinfo data when we are setting one of
EV_ABS/ABS_XXX capabilities, otherwise we may bomb when we try to emit this
event.

Rested-by: Paul Cercueil <pcercuei@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/input.c

index 846ccdd905b19b66872762fd05db29ea0552a8cb..d2965e4b32243a90f40db55a7722c3229d4edb3a 100644 (file)
@@ -1871,6 +1871,10 @@ void input_set_capability(struct input_dev *dev, unsigned int type, unsigned int
                break;
 
        case EV_ABS:
+               input_alloc_absinfo(dev);
+               if (!dev->absinfo)
+                       return;
+
                __set_bit(code, dev->absbit);
                break;