[LEDE-DEV] [PATCH] imx6: fix pcie scanning on boot
Koen Vandeputte
koen.vandeputte at ncentric.com
Wed Jan 3 08:27:54 PST 2018
Upstream commit "PCI: Do not allocate more buses than available in
parent" limits the amount of busses being allocated upon scanning the
PCIe bus. [1]
This commit was introduced in kernel 4.9.71
This breaks PCIe scanning on the Gateworks Ventana, causing no devices
to be found.
Temp fix this by basically reverting the upstream commit.
[1]
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-
stable.git/commit/?h=v4.9.74&id=9a4bf05126f42c2632729ab0da503021d74ed454
Signed-off-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
---
.../imx6/patches-4.9/220-fix-pcie-scanning.patch | 32 ++++++++++++++++++++++
1 file changed, 32 insertions(+)
create mode 100644 target/linux/imx6/patches-4.9/220-fix-pcie-scanning.patch
diff --git a/target/linux/imx6/patches-4.9/220-fix-pcie-scanning.patch b/target/linux/imx6/patches-4.9/220-fix-pcie-scanning.patch
new file mode 100644
index 0000000..351ab30
--- /dev/null
+++ b/target/linux/imx6/patches-4.9/220-fix-pcie-scanning.patch
@@ -0,0 +1,32 @@
+Upstream commit ("PCI: Do not allocate more buses than available in parent")
+limits the amount of busses being allocated upon scanning the PCIe bus.
+
+This breaks PCIe scanning on the Gateworks Ventana, causing no devices to be found.
+
+Temp fix this by basically reverting the upstream commit.
+
+https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/commit/?h=v4.9.74&id=9a4bf05126f42c2632729ab0da503021d74ed454
+
+
+--- a/drivers/pci/probe.c
++++ b/drivers/pci/probe.c
+@@ -932,8 +932,7 @@ int pci_scan_bridge(struct pci_bus *bus,
+ child = pci_add_new_bus(bus, dev, max+1);
+ if (!child)
+ goto out;
+- pci_bus_insert_busn_res(child, max+1,
+- bus->busn_res.end);
++ pci_bus_insert_busn_res(child, max+1, 0xff);
+ }
+ max++;
+ buses = (buses & 0xff000000)
+@@ -2138,9 +2137,6 @@ unsigned int pci_scan_child_bus(struct p
+ if (max - bus->busn_res.start < pci_hotplug_bus_size - 1)
+ max = bus->busn_res.start + pci_hotplug_bus_size - 1;
+
+- /* Do not allocate more buses than we have room left */
+- if (max > bus->busn_res.end)
+- max = bus->busn_res.end;
+ }
+
+ /*
--
2.7.4
More information about the Lede-dev
mailing list