From: Ian Ding <4dark@xxxxxxxxxxx> When the controller driver uses async probe (.probe_type = PROBE_PREFER_ASYNCHRONOUS), pci_host_probe() is not guaranteed to run before pci_sysfs_init(), kernel may call pci_create_sysfs_dev_files() twice in pci_sysfs_init() and pci_host_probe() -> pci_bus_add_device(), and dump stack: sysfs: cannot create duplicate filename Signed-off-by: Ian Ding <4dark@xxxxxxxxxxx> --- drivers/pci/pci-sysfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c index dd0d9d9bc..bef25fecb 100644 --- a/drivers/pci/pci-sysfs.c +++ b/drivers/pci/pci-sysfs.c @@ -1534,7 +1534,7 @@ static int __init pci_sysfs_init(void) return 0; } -late_initcall(pci_sysfs_init); +device_initcall(pci_sysfs_init); static struct attribute *pci_dev_dev_attrs[] = { &dev_attr_boot_vga.attr, -- 2.25.1