aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/input.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/input/input.c')
-rw-r--r--drivers/input/input.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/input/input.c b/drivers/input/input.c
index 9cb4b9a54f01..1fc0517e9428 100644
--- a/drivers/input/input.c
+++ b/drivers/input/input.c
@@ -176,6 +176,10 @@ void input_event(struct input_dev *dev, unsigned int type, unsigned int code, in
176 break; 176 break;
177 177
178 case EV_FF: 178 case EV_FF:
179
180 if (value < 0)
181 return;
182
179 if (dev->event) 183 if (dev->event)
180 dev->event(dev, type, code, value); 184 dev->event(dev, type, code, value);
181 break; 185 break;
@@ -762,7 +766,9 @@ static void input_dev_release(struct class_device *class_dev)
762{ 766{
763 struct input_dev *dev = to_input_dev(class_dev); 767 struct input_dev *dev = to_input_dev(class_dev);
764 768
769 input_ff_destroy(dev);
765 kfree(dev); 770 kfree(dev);
771
766 module_put(THIS_MODULE); 772 module_put(THIS_MODULE);
767} 773}
768 774