mbox series

[v3,0/9] serial: qcom-geni: fix receiver enable

Message ID 20241009145110.16847-1-johan+linaro@kernel.org
Headers show
Series serial: qcom-geni: fix receiver enable | expand

Message

Johan Hovold Oct. 9, 2024, 2:51 p.m. UTC
This series is a follow up to the console fixes in 6.12-rc1 that can
interact badly with some pre-existing bugs.

Specifically, the receiver could end up being disabled when
set_termios() races with the console code during boot. This can manifest
itself as a serial getty not accepting input.

Fixing the missing locking in set_termios() exposes another
long-standing bug in the DMA implementation (e.g. used for Bluetooth),
which is also fixed.

Johan


Changes in v3
 - fix polled console initialisation
 - revert broken hibernation support
 - rename suspend PM ops

Changes in v2
 - keep the call to stop rx in shutdown() which is called also on
   hangups
 - fix rx dma cancellation
 - fix rx cancel dma status bit
 - drop flip buffer WARN()
 - drop unused receive parameter

Johan Hovold (9):
  serial: qcom-geni: fix polled console initialisation
  serial: qcom-geni: revert broken hibernation support
  serial: qcom-geni: fix shutdown race
  serial: qcom-geni: fix dma rx cancellation
  serial: qcom-geni: fix receiver enable
  serial: qcom-geni: fix rx cancel dma status bit
  serial: qcom-geni: drop flip buffer WARN()
  serial: qcom-geni: drop unused receive parameter
  serial: qcom-geni: rename suspend functions

 drivers/tty/serial/qcom_geni_serial.c | 103 ++++++++++++--------------
 include/linux/soc/qcom/geni-se.h      |   2 +-
 2 files changed, 49 insertions(+), 56 deletions(-)