Re: Kernel 6.5 ttyS1 hang with qemu (was Re: [OE-core] Summary of the remaining 6.5 kernel serial issue (and 6.5 summary)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Richard Purdie <richard.purdie@xxxxxxxxxxxxxxxxxxx> [231016 08:10]:
> The port sometimes doesn't come up properly at boot.
> 
> To be clear, the "\n\n" from the qemu side into the port doesn't seem
> to help. The "echo helloB > /dev/ttyS1" inside the image does seem to
> wake it up. 

So if I understand correctly, this issue still happens with kernel patched
with commit 81a61051e0ce ("serial: core: Fix checks for tx runtime PM
state"), and the issue now only happens sometimes.

I wonder if the following additional change might help?

I have not yet tried to reproduce with the full test case you guys have,
just with qemu and two ports but no luck so far with a minimal test case.

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
@@ -146,7 +146,7 @@ static void __uart_start(struct uart_state *state)
 
 	/* Increment the runtime PM usage count for the active check below */
 	err = pm_runtime_get(&port_dev->dev);
-	if (err < 0) {
+	if (err < 0 && err != -EINPROGRESS) {
 		pm_runtime_put_noidle(&port_dev->dev);
 		return;
 	}



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux