summaryrefslogtreecommitdiff
path: root/sound/hda/intel-dsp-config.c
diff options
context:
space:
mode:
authorAl Cooper <alcooperx@gmail.com>2021-12-01 15:14:02 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-12-03 14:14:49 +0100
commit9cabe26e65a893afd5846908aa393bd283ab6609 (patch)
tree216255317e4d46dbf1746adfb3f8369724f278a6 /sound/hda/intel-dsp-config.c
parentbb1201d4b38ec67bd9a871cf86b0cc10f28b15b5 (diff)
serial: 8250_bcm7271: UART errors after resuming from S2
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") Acked-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Al Cooper <alcooperx@gmail.com> Link: https://lore.kernel.org/r/20211201201402.47446-1-alcooperx@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound/hda/intel-dsp-config.c')
0 files changed, 0 insertions, 0 deletions