summaryrefslogtreecommitdiffstats
path: root/drivers/media/rc/meson-ir.c
diff options
context:
space:
mode:
authorSean Young <sean@mess.org>2018-03-08 09:42:44 -0500
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2018-03-21 13:54:51 -0400
commit8d7a77ce56cdb5f50b83ca0c59a31362e1a5eeb4 (patch)
tree704d04613b6aedc97be22b042cac5ddc91aa058e /drivers/media/rc/meson-ir.c
parent20f2e1aa77314decf395558fd3a13875c0e56074 (diff)
downloadlinux-stable-8d7a77ce56cdb5f50b83ca0c59a31362e1a5eeb4.tar.gz
linux-stable-8d7a77ce56cdb5f50b83ca0c59a31362e1a5eeb4.tar.bz2
linux-stable-8d7a77ce56cdb5f50b83ca0c59a31362e1a5eeb4.zip
media: rc: meson-ir: add timeout on idle
Meson doesn't seem to be able to generate timeout events in hardware. So install a software timer to generate the timeout events required by the decoders to prevent "ghost keypresses". Reported-by: Matthias Reichl <hias@horus.com> Tested-by: Matthias Reichl <hias@horus.com> Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/rc/meson-ir.c')
-rw-r--r--drivers/media/rc/meson-ir.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/media/rc/meson-ir.c b/drivers/media/rc/meson-ir.c
index f2204eb77e2a..64b0aa4f4db7 100644
--- a/drivers/media/rc/meson-ir.c
+++ b/drivers/media/rc/meson-ir.c
@@ -97,8 +97,7 @@ static irqreturn_t meson_ir_irq(int irqno, void *dev_id)
status = readl_relaxed(ir->reg + IR_DEC_STATUS);
rawir.pulse = !!(status & STATUS_IR_DEC_IN);
- ir_raw_event_store(ir->rc, &rawir);
- ir_raw_event_handle(ir->rc);
+ ir_raw_event_store_with_timeout(ir->rc, &rawir);
spin_unlock(&ir->lock);