aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorMaxim Levitsky <maximlevitsky@gmail.com>2010-09-06 18:26:09 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-09-27 22:21:55 -0300
commite0172fd373ab77a83ea952fd6a75c612e1b0bf9e (patch)
treefe1c47a09e84ced745406b504391bc8e0eb412a2 /drivers/media
parent67332ba83242f814490884161fee8676a9fd8a09 (diff)
downloadkernel_samsung_smdk4412-e0172fd373ab77a83ea952fd6a75c612e1b0bf9e.zip
kernel_samsung_smdk4412-e0172fd373ab77a83ea952fd6a75c612e1b0bf9e.tar.gz
kernel_samsung_smdk4412-e0172fd373ab77a83ea952fd6a75c612e1b0bf9e.tar.bz2
V4L/DVB: IR: fix keys beeing stuck down forever
The logic in ir_timer_keyup was inverted. In case that values aren't equal, the meaning of the time_is_after_eq_jiffies(ir->keyup_jiffies) is that ir->keyup_jiffies is after the the jiffies or equally that that jiffies are before the the ir->keyup_jiffies which is exactly the situation we want to avoid (that the timeout is in the future) Confusing Eh? Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Acked-by: Jarod Wilson <jarod@redhat.com> Cc: stable@kernel.org Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/IR/ir-keytable.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/IR/ir-keytable.c b/drivers/media/IR/ir-keytable.c
index d00ef19..7961d59 100644
--- a/drivers/media/IR/ir-keytable.c
+++ b/drivers/media/IR/ir-keytable.c
@@ -319,7 +319,7 @@ static void ir_timer_keyup(unsigned long cookie)
* a keyup event might follow immediately after the keydown.
*/
spin_lock_irqsave(&ir->keylock, flags);
- if (time_is_after_eq_jiffies(ir->keyup_jiffies))
+ if (time_is_before_eq_jiffies(ir->keyup_jiffies))
ir_keyup(ir);
spin_unlock_irqrestore(&ir->keylock, flags);
}