Re: [PATCH] Revert "serial: fsl_lpuart: Reset prior to registration"

From: Ilpo Järvinen
Date: Thu Sep 29 2022 - 06:51:55 EST


On Thu, 29 Sep 2022, Sherry Sun wrote:

> 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@xxxxxxx>
> ---
> 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;
> -

So the problem with this being so early is uart_console() in
lpuart_global_reset() that doesn't detect a console because sport->cons is
not yet assigned? Couldn't that be worked around differently?

Or is there something else in addition to that I'm missing?

--
i.