Re: AM5749: tty serial 8250 omap driver crash

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

Le 10/02/2022 à 13:05, Tony Lindgren a écrit :
> Hi,
> 
> * Romain Naour <romain.naour@xxxxxxxx> [220209 09:13]:
>> Le 07/02/2022 à 09:04, Tony Lindgren a écrit :
>>> Interesting, what's the exception you get with the -rt kernel? Is it an
>>> unhandled external abort or something else?
>>
>> "asynchronous external abort"
> 
> OK
> 
>> Maybe there is something wrong with the smart-standby or smart-idle feature in
>> the UART IP ? I'm not sure.
> 
> Could be that too, but maybe it's as simple as the patch below. Care to
> give it a try?

The serial console stop working during the kernel boot with this patch applied.

> 
>> Are you able to reproduce it ?
>> Maybe on a IDK574 or a Beaglebone-AI board ?
> 
> Not sure why I'm not seeing this one with my test systems.. Have not tried
> with the RT patches for a while though.

The RT patches really makes a difference here.

> 
> Regards,
> 
> Tony
> 
> 8< -------
> diff --git a/drivers/tty/serial/8250/8250_omap.c b/drivers/tty/serial/8250/8250_omap.c
> --- a/drivers/tty/serial/8250/8250_omap.c
> +++ b/drivers/tty/serial/8250/8250_omap.c
> @@ -163,6 +163,8 @@ static void omap8250_set_mctrl(struct uart_port *port, unsigned int mctrl)
>  	struct omap8250_priv *priv = up->port.private_data;
>  	u8 lcr;
>  
> +	pm_runtime_get_sync(port->dev);
> +
>  	serial8250_do_set_mctrl(port, mctrl);
>  
>  	if (!mctrl_gpio_to_gpiod(up->gpios, UART_GPIO_RTS)) {
> @@ -179,6 +181,9 @@ static void omap8250_set_mctrl(struct uart_port *port, unsigned int mctrl)
>  		serial_out(up, UART_EFR, priv->efr);
>  		serial_out(up, UART_LCR, lcr);
>  	}
> +
> +	pm_runtime_mark_last_busy(port->dev);
> +	pm_runtime_put_autosuspend(port->dev);

This suspend the serial debug console on uart3.

Best regards,
Romain


>  }
>  
>  /*




[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux