|
@@ -389,6 +389,17 @@ struct pci_dev *acpi_get_pci_dev(acpi_handle handle)
|
|
|
|
|
|
pbus = pdev->subordinate;
|
|
|
pci_dev_put(pdev);
|
|
|
+
|
|
|
+ /*
|
|
|
+ * This function may be called for a non-PCI device that has a
|
|
|
+ * PCI parent (eg. a disk under a PCI SATA controller). In that
|
|
|
+ * case pdev->subordinate will be NULL for the parent.
|
|
|
+ */
|
|
|
+ if (!pbus) {
|
|
|
+ dev_dbg(&pdev->dev, "Not a PCI-to-PCI bridge\n");
|
|
|
+ pdev = NULL;
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
out:
|
|
|
list_for_each_entry_safe(node, tmp, &device_list, node)
|