Skip to content

Commit 6fffbc7

Browse files
robherringbjorn-helgaas
authored andcommitted
PCI: Honor firmware's device disabled status
If a device has a firmware node (DT/ACPI), and the device is marked disabled, that is currently ignored. Add a check for this condition and bail out creating the pci_dev. This assumes the config space for the device can still be accessed because they already have by this point in order to identify the device. Link: https://lore.kernel.org/r/20230210164351.2687475-1-robh@kernel.org Tested-by: Binbin Zhou <zhoubinbin@loongson.cn> Signed-off-by: Rob Herring <robh@kernel.org> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Cc: Liu Peibao <liupeibao@loongson.cn> Cc: Huacai Chen <chenhuacai@loongson.cn>
1 parent c768f8c commit 6fffbc7

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

drivers/pci/probe.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1841,6 +1841,8 @@ int pci_setup_device(struct pci_dev *dev)
18411841

18421842
pci_set_of_node(dev);
18431843
pci_set_acpi_fwnode(dev);
1844+
if (dev->dev.fwnode && !fwnode_device_is_available(dev->dev.fwnode))
1845+
return -ENODEV;
18441846

18451847
pci_dev_assign_slot(dev);
18461848

0 commit comments

Comments
 (0)