Message ID | 20201110091557.25680-1-sean@mess.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/2] media: sunxi-cir: ensure IR is handled when it is continuous | expand |
On 10/11/2020 10:15, Sean Young wrote: > If a user holds a button down on a remote, then no ir idle interrupt will > be generated until the user releases the button, depending on how quickly > the remote repeats. No IR is processed until that point, which means that > holding down a button may not do anything. > > This also resolves an issue on a Cubieboard 1 where the IR receiver is > picking up ambient infrared as IR and spews out endless > "rc rc0: IR event FIFO is full!" messages unless you choose to live in > the dark. > > Cc: stable@vger.kernel.org > Reported-by: Hans Verkuil <hverkuil@xs4all.nl> > Signed-off-by: Sean Young <sean@mess.org> Tested-by: Hans Verkuil <hverkuil@xs4all.nl> Nice! No more spam in the kernel log for my Cubieboard 1! Thank you, Hans > --- > drivers/media/rc/sunxi-cir.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/media/rc/sunxi-cir.c b/drivers/media/rc/sunxi-cir.c > index ddee6ee37bab1..4afc5895bee74 100644 > --- a/drivers/media/rc/sunxi-cir.c > +++ b/drivers/media/rc/sunxi-cir.c > @@ -137,6 +137,8 @@ static irqreturn_t sunxi_ir_irq(int irqno, void *dev_id) > } else if (status & REG_RXSTA_RPE) { > ir_raw_event_set_idle(ir->rc, true); > ir_raw_event_handle(ir->rc); > + } else { > + ir_raw_event_handle(ir->rc); > } > > spin_unlock(&ir->ir_lock); >
diff --git a/drivers/media/rc/sunxi-cir.c b/drivers/media/rc/sunxi-cir.c index ddee6ee37bab1..4afc5895bee74 100644 --- a/drivers/media/rc/sunxi-cir.c +++ b/drivers/media/rc/sunxi-cir.c @@ -137,6 +137,8 @@ static irqreturn_t sunxi_ir_irq(int irqno, void *dev_id) } else if (status & REG_RXSTA_RPE) { ir_raw_event_set_idle(ir->rc, true); ir_raw_event_handle(ir->rc); + } else { + ir_raw_event_handle(ir->rc); } spin_unlock(&ir->ir_lock);
If a user holds a button down on a remote, then no ir idle interrupt will be generated until the user releases the button, depending on how quickly the remote repeats. No IR is processed until that point, which means that holding down a button may not do anything. This also resolves an issue on a Cubieboard 1 where the IR receiver is picking up ambient infrared as IR and spews out endless "rc rc0: IR event FIFO is full!" messages unless you choose to live in the dark. Cc: stable@vger.kernel.org Reported-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Sean Young <sean@mess.org> --- drivers/media/rc/sunxi-cir.c | 2 ++ 1 file changed, 2 insertions(+)