• Ard Biesheuvel's avatar
    efi: earlycon: Reprobe after parsing config tables · 8b3a149d
    Ard Biesheuvel authored
    Commit 732ea9db ("efi: libstub: Move screen_info handling to common
    code") reorganized the earlycon handling so that all architectures pass
    the screen_info data via a EFI config table instead of populating struct
    screen_info directly, as the latter is only possible when the EFI stub
    is baked into the kernel (and not into the decompressor).
    
    However, this means that struct screen_info may not have been populated
    yet by the time the earlycon probe takes place, and this results in a
    non-functional early console.
    
    So let's probe again right after parsing the config tables and
    populating struct screen_info. Note that this means that earlycon output
    starts a bit later than before, and so it may fail to capture issues
    that occur while doing the early EFI initialization.
    
    Fixes: 732ea9db ("efi: libstub: Move screen_info handling to common code")
    Reported-by: default avatarShawn Guo <shawn.guo@linaro.org>
    Tested-by: default avatarShawn Guo <shawn.guo@linaro.org>
    Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
    8b3a149d
efi-init.c 6.01 KB