Skip to content

fix serial console suspend on PNP

Peter Hurley linux-serial lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 4 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4serial: core: Simplify console suspend logic in uart_suspend_port()drivers/tty/serial/serial_core.c+17 -180 replies
2/4serial: 8250_pnp: Override pnp disable for no_console_suspenddrivers/tty/serial/8250/8250_pnp.c+34 -110 replies
3/4PNP: Allow device to override ACPI device sleepdrivers/pnp/driver.c drivers/pnp/pnpacpi/core.c include/linux/pnp.h+5 -22 replies
4/4serial: 8250_pnp: Override pnp suspend for no_console_suspenddrivers/tty/serial/8250/8250_pnp.c+17 -12 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/4] fix serial console suspend on PNP

Hi Greg,

The kernel command line parameter, no_console_suspend, enables the serial console to continue to output kernel message during system suspend/resume.

However, the PNP bus will disable and power-down pnp devices on system suspend, which defeats the purpose of no_console_suspend; namely to continue to output messages in case those are the last messages before crashing.

The first patch is a cleanup of the baroque logic of uart_suspend_port(). The second patch overrides the PNP bus disabling the console device if no_console_suspend is set. This patch uses existing PNP bus logic but perhaps in a way not originally intended.
The third patch requires Rafael's ack, as it adds a capability to allow the device to override the power-down function.
The fourth patch actually performs the power-down override enabled by patch 3.

With these patches, the PNP0501 device (16550A uart) will continue to output messages while system suspend finishes, as intended by the no_console_suspend parameter. [System resume is another problem, which I'm working on].

Regards,

Peter Hurley (4):
serial: core: Simplify console suspend logic in uart_suspend_port()
serial: 8250_pnp: Override pnp disable for no_console_suspend
PNP: Allow device to override ACPI device sleep
serial: 8250_pnp: Override pnp suspend for no_console_suspend

 drivers/pnp/driver.c               |  2 +-
 drivers/pnp/pnpacpi/core.c         |  2 +-
 drivers/tty/serial/8250/8250_pnp.c | 61 +++++++++++++++++++++++++++++++-------
 drivers/tty/serial/serial_core.c   | 35 +++++++++++-----------
 include/linux/pnp.h                |  3 ++
 5 files changed, 72 insertions(+), 31 deletions(-)
Signature · 1 line
2.1.3