diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 116273454648..262577c81d30 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -6152,6 +6152,8 @@ bool pci_device_is_present(struct pci_dev *pdev) { u32 v; + /* Check PF if pdev is a VF, since VF Vendor/Device IDs are 0xffff */ + pdev = pci_physfn(pdev); if (pci_dev_is_disconnected(pdev)) return false; return pci_bus_read_dev_vendor_id(pdev->bus, pdev->devfn, &v, 0);