• David Woodhouse's avatar
    Run pci_apply_final_quirks() sooner. · cf6f3bf7
    David Woodhouse authored
    Having this as a device_initcall() means that some real device drivers
    can actually initialise _before_ the quirks are run, which is wrong.
    
    We want it to run _before_ device_initcall(), but _after_ fs_initcall(),
    since some arch-specific PCI initialisation like pcibios_assign_resources()
    is done at fs_initcall().
    
    We could use rootfs_initcall() but I actually want to use that for the
    IOMMU initialisation, which has to come after the quirks, but still
    before the real devices. So use fs_initcall_sync() instead -- since this
    is entirely synchronous, it doesn't hurt that it'll escape the
    synchronisation.
    Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
    cf6f3bf7
quirks.c 89 KB