[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220929085318.5268-1-sherry.sun@nxp.com>
Date: Thu, 29 Sep 2022 16:53:18 +0800
From: Sherry Sun <sherry.sun@....com>
To: gregkh@...uxfoundation.org, jirislaby@...nel.org, lukas@...ner.de
Cc: linux-serial@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-imx@....com
Subject: [PATCH] Revert "serial: fsl_lpuart: Reset prior to registration"
This reverts commit 60f361722ad2ae5ee667d0b0545d40c42f754daf.
commit 60f361722ad2 ("serial: fsl_lpuart: Reset prior to registration")
causes the lpuart console cannot work any more. Since the console is
registered in the uart_add_one_port(), the driver cannot identify the
console port before call uart_add_one_port(), which causes all the uart
ports including the console port will be global reset.
So need to revert this patch to avoid breaking the lpuart console.
Signed-off-by: Sherry Sun <sherry.sun@....com>
---
drivers/tty/serial/fsl_lpuart.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/tty/serial/fsl_lpuart.c b/drivers/tty/serial/fsl_lpuart.c
index 67fa113f77d4..7da46557fcb3 100644
--- a/drivers/tty/serial/fsl_lpuart.c
+++ b/drivers/tty/serial/fsl_lpuart.c
@@ -2722,10 +2722,6 @@ static int lpuart_probe(struct platform_device *pdev)
handler = lpuart_int;
}
- ret = lpuart_global_reset(sport);
- if (ret)
- goto failed_reset;
-
ret = uart_get_rs485_mode(&sport->port);
if (ret)
goto failed_get_rs485;
@@ -2734,6 +2730,10 @@ static int lpuart_probe(struct platform_device *pdev)
if (ret)
goto failed_attach_port;
+ ret = lpuart_global_reset(sport);
+ if (ret)
+ goto failed_reset;
+
ret = devm_request_irq(&pdev->dev, sport->port.irq, handler, 0,
DRIVER_NAME, sport);
if (ret)
@@ -2742,10 +2742,10 @@ static int lpuart_probe(struct platform_device *pdev)
return 0;
failed_irq_request:
+failed_reset:
uart_remove_one_port(&lpuart_reg, &sport->port);
failed_attach_port:
failed_get_rs485:
-failed_reset:
lpuart_disable_clks(sport);
return ret;
}
--
2.17.1
Powered by blists - more mailing lists