| From be2a47f30e5950d16ba077451116c6aa6bf91295 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 22 Feb 2021 09:08:35 +0100 |
| Subject: media: ite-cir: check for receive overflow |
| |
| From: Sean Young <sean@mess.org> |
| |
| [ Upstream commit 28c7afb07ccfc0a939bb06ac1e7afe669901c65a ] |
| |
| It's best if this condition is reported. |
| |
| Signed-off-by: Sean Young <sean@mess.org> |
| Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/media/rc/ite-cir.c | 8 +++++++- |
| 1 file changed, 7 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/media/rc/ite-cir.c b/drivers/media/rc/ite-cir.c |
| index 65e104c7ddfc..c7eea16225e7 100644 |
| --- a/drivers/media/rc/ite-cir.c |
| +++ b/drivers/media/rc/ite-cir.c |
| @@ -285,8 +285,14 @@ static irqreturn_t ite_cir_isr(int irq, void *data) |
| /* read the interrupt flags */ |
| iflags = dev->params.get_irq_causes(dev); |
| |
| + /* Check for RX overflow */ |
| + if (iflags & ITE_IRQ_RX_FIFO_OVERRUN) { |
| + dev_warn(&dev->rdev->dev, "receive overflow\n"); |
| + ir_raw_event_reset(dev->rdev); |
| + } |
| + |
| /* check for the receive interrupt */ |
| - if (iflags & (ITE_IRQ_RX_FIFO | ITE_IRQ_RX_FIFO_OVERRUN)) { |
| + if (iflags & ITE_IRQ_RX_FIFO) { |
| /* read the FIFO bytes */ |
| rx_bytes = |
| dev->params.get_rx_bytes(dev, rx_buf, |
| -- |
| 2.30.2 |
| |