Hi Aleksey, (Sorry for the delayed response, was on vacation) On 02/03/17 13:11, Aleksey Makarov wrote: > If a console was specified by ACPI SPCR table _and_ command line parameters like > "console=ttyAMA0" _and_ "earlycon" were specified, then log messages > appear twice. > > This issue was addressed in the patch [1] but the approach was wrong and > a revert [2] was suggested. > > First two patches "printk: fix name/type/scope of preferred_console var" and > "printk: rename selected_console -> preferred_console" were sent sent some > time ago as one patch "printk: fix name and type of some variables" [3]. > They fix name/type/scope of some variables without changing the logic. > > The real fix is in the second patch. The root cause is that the code traverses > the list of specified consoles (the `console_cmdline` array) and stops at the > first match. But it may happen that the same console is referred by > the elements of this array twice: > > pl011,mmio,0x87e024000000,115200 -- from SPCR > ttyAMA0 -- from command line > > but in this case `preferred_console` points to the second entry and > the flag CON_CONSDEV is not set, so bootconsole is not deregistered. > > To fix that, match the console against the `console_cmdline` entry > pointed by `preferred_console` instead of the first match. > > v2: > - split the patch that renames `selected_console` and `preferred_console` > into two patches (Steven Rostedt) > - add a comment explaining why we need a separate match to check for > preferred_console (Steven Rostedt) > - v1 of this patchset changed the logic of console initialization a bit. > That could lead to bugs/incompatibilities. Use the exactly the same > logic as in the original code. > Tested the series(v3 of patch 3) and works as expected. Thanks for the proper fix. Tested-by: Sudeep Holla <sudeep.holla@xxxxxxx> -- Regards, Sudeep -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html