[PATCH] vgaarb: Call vga_arb_device_init() after PCI enumeration

Greg KH gregkh at linuxfoundation.org
Tue Jun 1 17:12:27 UTC 2021


On Tue, Jun 01, 2021 at 05:56:40PM +0200, Daniel Vetter wrote:
> 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().

Trying to juggle levels like this always fails if you build the code as
a module.

Why not fix it properly and handle the out-of-order loading by returning
a "deferred" error if you do not have your resources yet?

thanks,

greg k-h


More information about the dri-devel mailing list