On Mon, Sep 09 2024 at 12:53, Andy Shevchenko wrote: > On Sat, Sep 07, 2024 at 10:39:00PM +0200, Thomas Gleixner wrote: >> On Fri, Sep 06 2024 at 18:44, John Ogness wrote: > > ... > >> I'm 100% that this is just a problem of blindly sharing this with the >> regular uart code and not because there is a requirement. See what >> serial8250_console_setup() does at the end: >> >> if (port->dev) >> pm_runtime_get_sync(port->dev); >> >> The corresponding put() is in serial8250_console_exit(). So there is >> absolutely zero reason for power management in the console write >> functions. It's the usual voodoo programming which nobody noticed >> because it did not immediately blow up in their face. > > It might be historical, but yes, the above is for a reason. > And if somebody needs a kernel console to be shutdown, they should remove > it from the active consoles. Correct, because you cant do PM from arbitrary contexts. Ergo the code which does PM in the context of the console write function is bogus. Thanks, tglx