Re: [PATCH] serial: 8250: Clear CON_PRINTBUFFER on port re-registration
From: Fushuai Wang
Date: Thu Apr 16 2026 - 06:03:37 EST
>>
>> From: Fushuai Wang <wangfushuai@xxxxxxxxx>
>>
>> When two PnP devices map to the same physical port, the serial8250 driver
>> removes and re-registers the console structure for the same port.
>
> Is it a real device out of there? Can you share what that is?
Yes, it's a real device.
In my Intel(R) Xeon(R) 6971P-C machine, the boot log shows:
[ 17.242984] 00:04: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[ 17.251352] printk: console [ttyS0] disabled
[ 17.257934] serial 00:04: Runtime PM usage count underflow!
[ 17.258360] 00:05: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[ 17.258516] printk: console [ttyS0] enabled
[ 29.643013] serial8250: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A
The issue occurs when BIOS "Serial Device" option is set to BMC:
Setup Question = Serial Device
Help String = Sets the Serial Device used to output bios serial log
Token = 9003 // Do NOT change this line
Offset = 2F8
Width = 01
BIOS Default =[01]BMC
Options = *[01]BMC // Move "*" to desired Option
[02]S3M
So 00:05 may be the BMC serial port device. From ACPI paths:
/sys/bus/pnp/devices/00:04/firmware_node/path: \_SB_.LPC0.UAR1
/sys/bus/pnp/devices/00:05/firmware_node/path: \_SB_.UAR1
>> During re-registration, the console structure still has CON_PRINTBUFFER set
>> from the initial registration, which causes console_init_seq() to set
>> console->seq to syslog_seq. This results in re-printing the entire
>> system log buffer, which may lead to RCU stall on slow serial consoles.
>>
>> Clear CON_PRINTBUFFER when re-registering a port to prevent duplicate
>> log printing.
>
>Seems like the Fixes tag is missing.
Yes, I will add Fixes tag lately.
--
Regards,
WANG