aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2014-11-27 20:54:18 +0000
committerFelix Fietkau <nbd@openwrt.org>2014-11-27 20:54:18 +0000
commit2dbc93c0b0e02b75faf5267c8e170706c2a2d10f (patch)
tree01c0f6643081d0371972850dd4160fa7f9277d9a /target
parent5da2510705e4443df7ef16884f160866519a3123 (diff)
downloadupstream-2dbc93c0b0e02b75faf5267c8e170706c2a2d10f.tar.gz
upstream-2dbc93c0b0e02b75faf5267c8e170706c2a2d10f.tar.bz2
upstream-2dbc93c0b0e02b75faf5267c8e170706c2a2d10f.zip
cns3xxx: fix PCIe->PCI bridge access (fixes #18422)
Signed-off-by: Felix Fietkau <nbd@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43414 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r--target/linux/cns3xxx/patches-3.14/121-pcie_fix_bridge_access.patch11
1 files changed, 11 insertions, 0 deletions
diff --git a/target/linux/cns3xxx/patches-3.14/121-pcie_fix_bridge_access.patch b/target/linux/cns3xxx/patches-3.14/121-pcie_fix_bridge_access.patch
new file mode 100644
index 0000000000..d3907bd7af
--- /dev/null
+++ b/target/linux/cns3xxx/patches-3.14/121-pcie_fix_bridge_access.patch
@@ -0,0 +1,11 @@
+--- a/arch/arm/mach-cns3xxx/pcie.c
++++ b/arch/arm/mach-cns3xxx/pcie.c
+@@ -93,6 +93,8 @@ static void __iomem *cns3xxx_pci_cfg_bas
+
+ base = (void __iomem *)cnspci->cfg_bases[type].virtual;
+ offset = (devfn << 12) | (where & 0xffc);
++ if (busno > 1)
++ offset += busno << 20;
+
+ return base + offset;
+ }