Re: [PATCH 2/2] serial: core: fix console port-lock regression

From: Tony Lindgren
Date: Fri Sep 18 2020 - 03:15:27 EST


* Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> [200916 12:34]:
> On Mon, Sep 14, 2020 at 11:09:16AM +0300, Tony Lindgren wrote:
> > * Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> [200910 09:27]:
> > > +Cc: Tony, let me add Tony to the discussion.
> > >
> > > On Thu, Sep 10, 2020 at 09:35:27AM +0200, Johan Hovold wrote:
> > > > And what about power management
> > > > which was the reason for wanting this on OMAP in the first place; tty
> > > > core never calls shutdown() for a console port, not even when it's been
> > > > detached using the new interface.
> > >
> > > That is interesting... Tony, do we have OMAP case working because of luck?
> >
> > 8250_omap won't do anything unless autosuspend_timeout is configured for
> > the uart(s). If configured, then the 8250_omap will idle when console is
> > detached and the PM runtime usage count held by console is decremented, and
> > the configured autosuspend_timeout expires.
> >
> > The console is still kept open by getty, so I don't see why shutdown() would
> > be called for the console port. But maybe I don't follow what you're
> > concerned about, let me know if you want me to check something :)
>
> Is it possible to test configuration when you have kernel console enabled but
> no getty is run on it (perhaps something with ssh enabled access)?
>
> Then kernel console should call ->shutdown on detaching, right?

I gave this a quick try and Johan is right, shutdown is not called on console
uart still even if detached and no getty running on that uart. I could not
figure out easily where exactly this gets blocked.. So far I did try setting
port->console = 0 on detach, then init it again on attach.

Regards,

Tony