[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <847997ca-1a24-485e-010b-9cba35ff2b0c@gmail.com>
Date: Wed, 1 Dec 2021 12:39:31 -0800
From: Florian Fainelli <f.fainelli@...il.com>
To: Al Cooper <alcooperx@...il.com>, linux-kernel@...r.kernel.org
Cc: bcm-kernel-feedback-list@...adcom.com,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Jiri Slaby <jirislaby@...nel.org>, linux-serial@...r.kernel.org
Subject: Re: [PATCH] serial: 8250_bcm7271: UART errors after resuming from S2
On 12/1/21 12:14 PM, Al Cooper wrote:
> There is a small window in time during resume where the hardware
> flow control signal RTS can be asserted (which allows a sender to
> resume sending data to the UART) but the baud rate has not yet
> been restored. This will cause corrupted data and FRAMING, OVERRUN
> and BREAK errors. This is happening because the MCTRL register is
> shadowed in uart_port struct and is later used during resume to set
> the MCTRL register during both serial8250_do_startup() and
> uart_resume_port(). Unfortunately, serial8250_do_startup()
> happens before the UART baud rate is restored. The fix is to clear
> the shadowed mctrl value at the end of suspend and restore it at the
> end of resume.
>
> Fixes: 41a469482de2 ("serial: 8250: Add new 8250-core based Broadcom STB driver")
> Signed-off-by: Al Cooper <alcooperx@...il.com>
Acked-by: Florian Fainelli <f.fainelli@...il.com>
--
Florian
Powered by blists - more mailing lists