On Fri, May 28, 2021 at 04:26:07PM +0800, Huacai Chen wrote: > We should call vga_arb_device_init() after PCI enumeration, otherwise it > may fail to select the default VGA device. Since vga_arb_device_init() > and PCI enumeration function (i.e., pcibios_init() or acpi_init()) are > both wrapped by subsys_initcall(), their sequence is not assured. So, we > use subsys_initcall_sync() instead of subsys_initcall() to wrap vga_arb_ > device_init(). > > Signed-off-by: Huacai Chen <chenhuacai@xxxxxxxxxxx> Is there a bug report for this? Should we mark this cc: stable? Also adding Bjorn/Greg since I have no idea whether this is the right fix. It does do what it says on the tin, but that's maybe not the best approach here. -Daniel > --- > drivers/gpu/vga/vgaarb.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/vga/vgaarb.c b/drivers/gpu/vga/vgaarb.c > index 5180c5687ee5..4b8a62af34cf 100644 > --- a/drivers/gpu/vga/vgaarb.c > +++ b/drivers/gpu/vga/vgaarb.c > @@ -1564,4 +1564,4 @@ static int __init vga_arb_device_init(void) > pr_info("loaded\n"); > return rc; > } > -subsys_initcall(vga_arb_device_init); > +subsys_initcall_sync(vga_arb_device_init); > -- > 2.27.0 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch