diff options
author | Linus Torvalds | 2014-11-06 11:33:06 -0800 |
---|---|---|
committer | Linus Torvalds | 2014-11-06 11:33:06 -0800 |
commit | ed78bb846e8bc1a8589fa6e0d9bf2b0f518893d5 (patch) | |
tree | 161589a3c61ef29d0b16bd57222381ae0419569a /include | |
parent | 3d5a08639fb0e83ca30d20142ec6c1e78d26caf1 (diff) | |
parent | 32f638fc11db0526c706454d9ab4339d55ac89f3 (diff) |
Merge tag 'pci-v3.18-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci
Pull PCI fix from Bjorn Helgaas:
"This fixes an oops when enabling SR-IOV VF devices. The oops is a
regression I added by configuring all devices during enumeration.
- Don't oops on virtual buses in acpi_pci_get_bridge_handle() (Yinghai Lu)"
* tag 'pci-v3.18-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
PCI: Don't oops on virtual buses in acpi_pci_get_bridge_handle()
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/pci-acpi.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/linux/pci-acpi.h b/include/linux/pci-acpi.h index 64dacb7288a6..24c7728ca681 100644 --- a/include/linux/pci-acpi.h +++ b/include/linux/pci-acpi.h @@ -41,8 +41,13 @@ static inline acpi_handle acpi_pci_get_bridge_handle(struct pci_bus *pbus) if (pci_is_root_bus(pbus)) dev = pbus->bridge; - else + else { + /* If pbus is a virtual bus, there is no bridge to it */ + if (!pbus->self) + return NULL; + dev = &pbus->self->dev; + } return ACPI_HANDLE(dev); } |