ASoC: dwc: limit the number of overrun messages
authorMaxim Kochetkov <fido_max@inbox.ru>
Fri, 5 May 2023 06:28:20 +0000 (09:28 +0300)
committerMark Brown <broonie@kernel.org>
Mon, 8 May 2023 00:07:43 +0000 (09:07 +0900)
On slow CPU (FPGA/QEMU emulated) printing overrun messages from
interrupt handler to uart console may leads to more overrun errors.
So use dev_err_ratelimited to limit the number of error messages.

Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru
Link: https://lore.kernel.org/r/20230505062820.21840-1-fido_max@inbox.ru
Signed-off-by: Mark Brown <broonie@kernel.org
sound/soc/dwc/dwc-i2s.c

index acdf98b2ee9c20a006d8c997fd9f84ecb8d59c7a..ca20cade68406fa1bf8a79da7986b8da382edfb6 100644 (file)
@@ -132,13 +132,13 @@ static irqreturn_t i2s_irq_handler(int irq, void *dev_id)
 
                /* Error Handling: TX */
                if (isr[i] & ISR_TXFO) {
-                       dev_err(dev->dev, "TX overrun (ch_id=%d)\n", i);
+                       dev_err_ratelimited(dev->dev, "TX overrun (ch_id=%d)\n", i);
                        irq_valid = true;
                }
 
                /* Error Handling: TX */
                if (isr[i] & ISR_RXFO) {
-                       dev_err(dev->dev, "RX overrun (ch_id=%d)\n", i);
+                       dev_err_ratelimited(dev->dev, "RX overrun (ch_id=%d)\n", i);
                        irq_valid = true;
                }
        }