* Re: PROBLEM: Sun Ultra 60 hangs on boot since Linux 6.8 [not found] <d84baa5d-a092-3647-8062-ed7081d329d4@draconx.ca> @ 2024-03-22 5:15 ` Tony Lindgren 2024-03-22 6:36 ` Nick Bowler 0 siblings, 1 reply; 7+ messages in thread From: Tony Lindgren @ 2024-03-22 5:15 UTC (permalink / raw) To: Nick Bowler; +Cc: linux-kernel, sparclinux, regressions, linux-serial Hi, * Nick Bowler <nbowler@draconx.ca> [240322 04:29]: > I bisected to this commit: > > commit 45a3a8ef81291b63a2b50a1a145857dd9fc05e89 > Author: Tony Lindgren <tony@atomide.com> > Date: Mon Nov 13 10:07:53 2023 +0200 > > serial: core: Revert checks for tx runtime PM state > > Reverting this commit on top of Linux 6.8 is sufficient to get the > system booting again. Thanks a lot for bisecting and reporting the issue. Can you please test if the following change to add back the check for !pm_runtime_active() is enough to fix the issue? Regards, Tony 8< ----------------------- diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -156,7 +156,7 @@ static void __uart_start(struct uart_state *state) * enabled, serial_port_runtime_resume() calls start_tx() again * after enabling the device. */ - if (pm_runtime_active(&port_dev->dev)) + if (!pm_runtime_enabled(&port_dev->dev) || pm_runtime_active(&port_dev->dev)) port->ops->start_tx(port); pm_runtime_mark_last_busy(&port_dev->dev); pm_runtime_put_autosuspend(&port_dev->dev); -- 2.44.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: PROBLEM: Sun Ultra 60 hangs on boot since Linux 6.8 2024-03-22 5:15 ` PROBLEM: Sun Ultra 60 hangs on boot since Linux 6.8 Tony Lindgren @ 2024-03-22 6:36 ` Nick Bowler 2024-03-22 6:48 ` Tony Lindgren 0 siblings, 1 reply; 7+ messages in thread From: Nick Bowler @ 2024-03-22 6:36 UTC (permalink / raw) To: Tony Lindgren; +Cc: linux-kernel, sparclinux, regressions, linux-serial On 2024-03-22 01:15, Tony Lindgren wrote: > * Nick Bowler <nbowler@draconx.ca> [240322 04:29]: >> I bisected to this commit: >> >> commit 45a3a8ef81291b63a2b50a1a145857dd9fc05e89 >> Author: Tony Lindgren <tony@atomide.com> >> Date: Mon Nov 13 10:07:53 2023 +0200 >> >> serial: core: Revert checks for tx runtime PM state >> >> Reverting this commit on top of Linux 6.8 is sufficient to get the >> system booting again. > > Thanks a lot for bisecting and reporting the issue. > > Can you please test if the following change to add back the check for > !pm_runtime_active() is enough to fix the issue? I applied the below patch on top of 6.8 and unfortunately it does _not_ fix the problem (no obvious change in behaviour). Thanks, Nick > 8< ----------------------- > diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c > --- a/drivers/tty/serial/serial_core.c > +++ b/drivers/tty/serial/serial_core.c > @@ -156,7 +156,7 @@ static void __uart_start(struct uart_state *state) > * enabled, serial_port_runtime_resume() calls start_tx() again > * after enabling the device. > */ > - if (pm_runtime_active(&port_dev->dev)) > + if (!pm_runtime_enabled(&port_dev->dev) || pm_runtime_active(&port_dev->dev)) > port->ops->start_tx(port); > pm_runtime_mark_last_busy(&port_dev->dev); > pm_runtime_put_autosuspend(&port_dev->dev); ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: PROBLEM: Sun Ultra 60 hangs on boot since Linux 6.8 2024-03-22 6:36 ` Nick Bowler @ 2024-03-22 6:48 ` Tony Lindgren 2024-03-22 9:06 ` Tony Lindgren 0 siblings, 1 reply; 7+ messages in thread From: Tony Lindgren @ 2024-03-22 6:48 UTC (permalink / raw) To: Nick Bowler; +Cc: linux-kernel, sparclinux, regressions, linux-serial * Nick Bowler <nbowler@draconx.ca> [240322 06:36]: > On 2024-03-22 01:15, Tony Lindgren wrote: > > Can you please test if the following change to add back the check for > > !pm_runtime_active() is enough to fix the issue? > > I applied the below patch on top of 6.8 and unfortunately it does _not_ > fix the problem (no obvious change in behaviour). Hmm OK thanks for testing. I'll take a look and see if I can debug this with qemu sparc as I no longer have any sparc boxes around. Regards, Tony ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: PROBLEM: Sun Ultra 60 hangs on boot since Linux 6.8 2024-03-22 6:48 ` Tony Lindgren @ 2024-03-22 9:06 ` Tony Lindgren 2024-03-22 14:12 ` Nick Bowler 0 siblings, 1 reply; 7+ messages in thread From: Tony Lindgren @ 2024-03-22 9:06 UTC (permalink / raw) To: Nick Bowler; +Cc: linux-kernel, sparclinux, regressions, linux-serial * Tony Lindgren <tony@atomide.com> [240322 08:48]: > * Nick Bowler <nbowler@draconx.ca> [240322 06:36]: > > On 2024-03-22 01:15, Tony Lindgren wrote: > > > Can you please test if the following change to add back the check for > > > !pm_runtime_active() is enough to fix the issue? > > > > I applied the below patch on top of 6.8 and unfortunately it does _not_ > > fix the problem (no obvious change in behaviour). > > Hmm OK thanks for testing. I'll take a look and see if I can debug this > with qemu sparc as I no longer have any sparc boxes around. I can't reproduce this on qemu-system-sparc64, probably as it does not use the sunsab driver. I noticed something though, I think we need to test for the port device instead for being runtime PM enabled. Can you please test if the updated patch below make things work again? Regards, Tony 8< ------------------- diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -156,7 +156,7 @@ static void __uart_start(struct uart_state *state) * enabled, serial_port_runtime_resume() calls start_tx() again * after enabling the device. */ - if (pm_runtime_active(&port_dev->dev)) + if (!pm_runtime_enabled(port->dev) || pm_runtime_active(&port_dev->dev)) port->ops->start_tx(port); pm_runtime_mark_last_busy(&port_dev->dev); pm_runtime_put_autosuspend(&port_dev->dev); -- 2.44.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: PROBLEM: Sun Ultra 60 hangs on boot since Linux 6.8 2024-03-22 9:06 ` Tony Lindgren @ 2024-03-22 14:12 ` Nick Bowler 2024-03-23 6:49 ` Tony Lindgren 0 siblings, 1 reply; 7+ messages in thread From: Nick Bowler @ 2024-03-22 14:12 UTC (permalink / raw) To: Tony Lindgren; +Cc: linux-kernel, sparclinux, regressions, linux-serial On 2024-03-22 05:06, Tony Lindgren wrote: [...] > I can't reproduce this on qemu-system-sparc64, probably as it does not use > the sunsab driver. > > I noticed something though, I think we need to test for the port device > instead for being runtime PM enabled. > > Can you please test if the updated patch below make things work again? Yes, with the below patch applied on top of 6.8 things are working. Thanks, Nick > 8< ------------------- > diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c > --- a/drivers/tty/serial/serial_core.c > +++ b/drivers/tty/serial/serial_core.c > @@ -156,7 +156,7 @@ static void __uart_start(struct uart_state *state) > * enabled, serial_port_runtime_resume() calls start_tx() again > * after enabling the device. > */ > - if (pm_runtime_active(&port_dev->dev)) > + if (!pm_runtime_enabled(port->dev) || pm_runtime_active(&port_dev->dev)) > port->ops->start_tx(port); > pm_runtime_mark_last_busy(&port_dev->dev); > pm_runtime_put_autosuspend(&port_dev->dev) ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: PROBLEM: Sun Ultra 60 hangs on boot since Linux 6.8 2024-03-22 14:12 ` Nick Bowler @ 2024-03-23 6:49 ` Tony Lindgren 2024-03-25 7:39 ` Tony Lindgren 0 siblings, 1 reply; 7+ messages in thread From: Tony Lindgren @ 2024-03-23 6:49 UTC (permalink / raw) To: Nick Bowler; +Cc: linux-kernel, sparclinux, regressions, linux-serial * Nick Bowler <nbowler@draconx.ca> [240322 14:12]: > On 2024-03-22 05:06, Tony Lindgren wrote: > [...] > > I can't reproduce this on qemu-system-sparc64, probably as it does not use > > the sunsab driver. > > > > I noticed something though, I think we need to test for the port device > > instead for being runtime PM enabled. > > > > Can you please test if the updated patch below make things work again? > > Yes, with the below patch applied on top of 6.8 things are working. OK great thanks for testing, I'll send out a proper patch. Regards, Tony > > 8< ------------------- > > diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c > > --- a/drivers/tty/serial/serial_core.c > > +++ b/drivers/tty/serial/serial_core.c > > @@ -156,7 +156,7 @@ static void __uart_start(struct uart_state *state) > > * enabled, serial_port_runtime_resume() calls start_tx() again > > * after enabling the device. > > */ > > - if (pm_runtime_active(&port_dev->dev)) > > + if (!pm_runtime_enabled(port->dev) || pm_runtime_active(&port_dev->dev)) > > port->ops->start_tx(port); > > pm_runtime_mark_last_busy(&port_dev->dev); > > pm_runtime_put_autosuspend(&port_dev->dev) ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: PROBLEM: Sun Ultra 60 hangs on boot since Linux 6.8 2024-03-23 6:49 ` Tony Lindgren @ 2024-03-25 7:39 ` Tony Lindgren 0 siblings, 0 replies; 7+ messages in thread From: Tony Lindgren @ 2024-03-25 7:39 UTC (permalink / raw) To: Nick Bowler; +Cc: linux-kernel, sparclinux, regressions, linux-serial * Tony Lindgren <tony@atomide.com> [240323 08:49]: > * Nick Bowler <nbowler@draconx.ca> [240322 14:12]: > > Yes, with the below patch applied on top of 6.8 things are working. > > OK great thanks for testing, I'll send out a proper patch. For reference, patch posted now at [0] below. Regards, Tony [0] https://lore.kernel.org/linux-serial/20240325071649.27040-1-tony@atomide.com/T/#u ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-03-25 7:40 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <d84baa5d-a092-3647-8062-ed7081d329d4@draconx.ca>
2024-03-22 5:15 ` PROBLEM: Sun Ultra 60 hangs on boot since Linux 6.8 Tony Lindgren
2024-03-22 6:36 ` Nick Bowler
2024-03-22 6:48 ` Tony Lindgren
2024-03-22 9:06 ` Tony Lindgren
2024-03-22 14:12 ` Nick Bowler
2024-03-23 6:49 ` Tony Lindgren
2024-03-25 7:39 ` Tony Lindgren
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox