[PATCH] serial: 8250: 8250_omap: Fix RX_LVL register offset

Nishanth Menon nm at ti.com
Thu Sep 2 22:05:50 PDT 2021


Commit b67e830d38fa ("serial: 8250: 8250_omap: Fix possible interrupt
storm on K3 SoCs") introduced fixup including a register read to
RX_LVL, however, we should be using word offset than byte offset
since our registers are on 4 byte boundary (port.regshift = 2) for
8250_omap.

Fixes: b67e830d38fa ("serial: 8250: 8250_omap: Fix possible interrupt storm on K3 SoCs")
Cc: Jan Kiszka <jan.kiszka at siemens.com>
Cc: Vignesh Raghavendra <vigneshr at ti.com>
Signed-off-by: Nishanth Menon <nm at ti.com>
---

Issue discovered on simulation platform where invalid address read is forced
to generate aborts than default behavior of read of invalid address
returning 0x0 (only writes to invalid address would abort).

Test logs: https://gist.github.com/nmenon/46b1adc2be0a2e771fb848e1c799475a (am654, j721e, j7200)

There is a minor checkpatch error requesting < 75 character commit
description, but I felt breaking the Fixes line up is probably not good.

 drivers/tty/serial/8250/8250_omap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/tty/serial/8250/8250_omap.c b/drivers/tty/serial/8250/8250_omap.c
index 891fd8345e25..73e5f1dbd075 100644
--- a/drivers/tty/serial/8250/8250_omap.c
+++ b/drivers/tty/serial/8250/8250_omap.c
@@ -106,7 +106,7 @@
 #define UART_OMAP_EFR2_TIMEOUT_BEHAVE	BIT(6)
 
 /* RX FIFO occupancy indicator */
-#define UART_OMAP_RX_LVL		0x64
+#define UART_OMAP_RX_LVL		0x19
 
 struct omap8250_priv {
 	int line;
-- 
2.32.0




More information about the linux-arm-kernel mailing list