From b30555fd46da9929fa09a82486dbb02ffc0ca404 Mon Sep 17 00:00:00 2001 From: Johannes Berg Date: Thu, 29 Jan 2009 23:17:52 -0800 Subject: [PATCH] --- yaml --- r: 143133 b: refs/heads/master c: e7b5c1ef4d87426da0b689a0a4fa67edda02ea5c h: refs/heads/master i: 143131: e0a1c8c0be8512ef99909a2aca26c193703a0427 v: v3 --- [refs] | 2 +- trunk/drivers/input/input.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 686e40a659d1..9db5f8a27e88 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b0ee0d3eb31a163c958f2960906c44bcdfdc607b +refs/heads/master: e7b5c1ef4d87426da0b689a0a4fa67edda02ea5c diff --git a/trunk/drivers/input/input.c b/trunk/drivers/input/input.c index 1730d7331a5d..46e9ce195064 100644 --- a/trunk/drivers/input/input.c +++ b/trunk/drivers/input/input.c @@ -132,6 +132,11 @@ static void input_start_autorepeat(struct input_dev *dev, int code) } } +static void input_stop_autorepeat(struct input_dev *dev) +{ + del_timer(&dev->timer); +} + #define INPUT_IGNORE_EVENT 0 #define INPUT_PASS_TO_HANDLERS 1 #define INPUT_PASS_TO_DEVICE 2 @@ -167,6 +172,8 @@ static void input_handle_event(struct input_dev *dev, __change_bit(code, dev->key); if (value) input_start_autorepeat(dev, code); + else + input_stop_autorepeat(dev); } disposition = INPUT_PASS_TO_HANDLERS;