summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMaxim Levitsky2010-09-06 23:26:09 +0200
committerMauro Carvalho Chehab2010-09-28 03:21:55 +0200
commite0172fd373ab77a83ea952fd6a75c612e1b0bf9e (patch)
treefe1c47a09e84ced745406b504391bc8e0eb412a2 /drivers
parentV4L/DVB: IR: fix duty cycle capability (diff)
downloadkernel-qcow2-linux-e0172fd373ab77a83ea952fd6a75c612e1b0bf9e.tar.gz
kernel-qcow2-linux-e0172fd373ab77a83ea952fd6a75c612e1b0bf9e.tar.xz
kernel-qcow2-linux-e0172fd373ab77a83ea952fd6a75c612e1b0bf9e.zip
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')
-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 d00ef194f2e8..7961d59f5cac 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);
}