Hi All. I encountered a WARNING printed out during the kernel starting process on my developing environment. (with RISC-V arch, 6.12 kernel, and Debian 13 OS). WARN Trace: [ 0.518993] proc_dir_entry '000c:00/00.0' already registered [ 0.519187] WARNING: CPU: 2 PID: 179 at fs/proc/generic.c:375 proc_register+0xf6/0x180 [ 0.519214] [<ffffffff804055a6>] proc_register+0xf6/0x180 [ 0.519217] [<ffffffff80405a9e>] proc_create_data+0x3e/0x60 [ 0.519220] [<ffffffff80616e44>] pci_proc_attach_device+0x74/0x130 [ 0.509991] [<ffffffff805f1af2>] pci_bus_add_device+0x42/0x100 [ 0.509997] [<ffffffff805f1c76>] pci_bus_add_devices+0xc6/0x110 [ 0.519230] [<ffffffff8066763c>] acpi_pci_root_add+0x54c/0x810 [ 0.519233] [<ffffffff8065d206>] acpi_bus_attach+0x196/0x2f0 [ 0.519234] [<ffffffff8065d390>] acpi_scan_clear_dep_fn+0x30/0x70 [ 0.519236] [<ffffffff800468fa>] process_one_work+0x19a/0x390 [ 0.519239] [<ffffffff80047a6e>] worker_thread+0x2be/0x420 [ 0.519241] [<ffffffff80050dc4>] kthread+0xc4/0xf0 [ 0.519243] [<ffffffff80ad6ad2>] ret_from_fork+0xe/0x1c After digging into this issue a little bit, I find the double-register of PCIe devices occurs in the following logic: Early: static int __init pci_proc_init(void) { ... for_each_pci_dev(dev) pci_proc_attach_device(dev); //000c:00:00.0 will be registered here for the first time (succeeded). ... } Later: acpi_pci_root_add -> pci_bus_add_devices -> pci_bus_add_device -> pci_proc_attach_device //try to register 000c:00:00.0 here for the second time (failed and triggered the WARNING trace); I tried to add two more steps in the pci_proc_init function (shown in the attached patch). 1st is to prevent the concurrent issue by holding the pci_rescan_remove_lock. 2nd is to correctly update the device's status after it's been successfully registered (by adding the PCI_DEV_ADDED bit to the device's flag). Then the WARNING disappeared and the system worked well. I understand that the device_initcall(pci_proc_init) function stays there already for 20 years (time of the initiliaztion of repo), and it hasn't really changed since then. So I wonder if my patch is the RIGHT way to fix this WARNING issue? I am not positive about this. :( Any suggestions? As a beginner Linux programmer, I am not sure whether I have included all related reviews/maintainers in my email list, but sincerely seeking your help and any comments are very welcome. Warmly regards, Shuan Shuan He (1): PCI: Fix pci devices double register WARN in the kernel starting process drivers/pci/proc.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) -- 2.39.5 (Apple Git-154)