Re: [PATCH] serial: 8250: Clear CON_PRINTBUFFER on port re-registration

From: Andy Shevchenko

Date: Thu Apr 16 2026 - 06:18:22 EST


On Thu, Apr 16, 2026 at 1:03 PM Fushuai Wang <fushuai.wang@xxxxxxxxx> wrote:

> >> 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!

This is strange, what kernel version is this?

> [ 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

Is it an IO port?

> 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

Do I understand correctly that both devices refer to the same physical
device?! How on earth is it supposed to work?

> >> 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.

--
With Best Regards,
Andy Shevchenko