Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 151ab36a authored by Kenji Kaneshige's avatar Kenji Kaneshige Committed by Jesse Barnes
Browse files

PCI: fix wrong assumption in pci_find_upstream_pcie_bridge



Current pci_find_upstream_pcie_bridge() has a wrong assumption that
pci_bus->self is NULL on the root pci bus. But it might not true on
some platforms. Because of this wrong assumption, current
pci_find_upstream_pcie_bridge() might cause endless loop. We must
check pci_bus->parent instead.

Signed-off-by: default avatarKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
parent d391f00f
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -29,7 +29,7 @@ pci_find_upstream_pcie_bridge(struct pci_dev *pdev)
	if (pdev->is_pcie)
	if (pdev->is_pcie)
		return NULL;
		return NULL;
	while (1) {
	while (1) {
		if (!pdev->bus->self)
		if (!pdev->bus->parent)
			break;
			break;
		pdev = pdev->bus->self;
		pdev = pdev->bus->self;
		/* a p2p bridge */
		/* a p2p bridge */