[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20240621153829.183780-1-eichest@gmail.com>
Date: Fri, 21 Jun 2024 17:37:49 +0200
From: Stefan Eichenberger <eichest@...il.com>
To: gregkh@...uxfoundation.org,
jirislaby@...nel.org,
shawnguo@...nel.org,
s.hauer@...gutronix.de,
kernel@...gutronix.de,
festevam@...il.com,
l.sanfilippo@...bus.com,
cniedermaier@...electronics.com,
john.ogness@...utronix.de,
esben@...nix.com,
rickaran@...s.com,
tglx@...utronix.de,
stefan@...er.ch,
francesco.dolcini@...adex.com
Cc: linux-kernel@...r.kernel.org,
linux-serial@...r.kernel.org,
imx@...ts.linux.dev,
linux-arm-kernel@...ts.infradead.org,
Stefan Eichenberger <stefan.eichenberger@...adex.com>
Subject: [PATCH v1] serial: imx: set receiver level before starting uart
From: Stefan Eichenberger <stefan.eichenberger@...adex.com>
Set the receiver level to something > 0 before calling imx_uart_start_rx
in rs485_config. This is necessary to avoid an interrupt storm that
might prevent the system from booting. This was seen on an i.MX7 device
when the rs485-rts-active-low property was active in the device tree.
Fixes: 6d215f83e5fc ("serial: imx: warn user when using unsupported configuration")
Signed-off-by: Stefan Eichenberger <stefan.eichenberger@...adex.com>
---
drivers/tty/serial/imx.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
index 2eb22594960f3..f4f40c9373c2f 100644
--- a/drivers/tty/serial/imx.c
+++ b/drivers/tty/serial/imx.c
@@ -1952,8 +1952,10 @@ static int imx_uart_rs485_config(struct uart_port *port, struct ktermios *termio
/* Make sure Rx is enabled in case Tx is active with Rx disabled */
if (!(rs485conf->flags & SER_RS485_ENABLED) ||
- rs485conf->flags & SER_RS485_RX_DURING_TX)
+ rs485conf->flags & SER_RS485_RX_DURING_TX) {
+ imx_uart_setup_ufcr(sport, TXTL_DEFAULT, RXTL_DEFAULT);
imx_uart_start_rx(port);
+ }
return 0;
}
--
2.43.0
Powered by blists - more mailing lists