aboutsummaryrefslogtreecommitdiff
path: root/drivers/input/input.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2013-12-26 17:44:29 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-01-08 09:42:12 -0800
commit1b01494b82bf4f46821dd4dda2bb35aa43415eeb (patch)
tree667104c904b53911d6e7e63e5d8066aa9d902795 /drivers/input/input.c
parent2efb73fb4f0f5081ba6450e789b52f70247c80d9 (diff)
downloadlinux-linaro-stable-1b01494b82bf4f46821dd4dda2bb35aa43415eeb.tar.gz
Input: allocate absinfo data when setting ABS capability
commit 28a2a2e1aedbe2d8b2301e6e0e4e63f6e4177aca upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/input/input.c')
-rw-r--r--drivers/input/input.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/input/input.c b/drivers/input/input.c
index 8921c6180c51..d56c407aa096 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -1707,6 +1707,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;