From: Rafał Miłecki <zajec5@gmail.com>
Date: Fri, 30 Jan 2015 06:58:35 +0000 (+0000)
Subject: bcm53xx: fix booting BCM4709
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=1d1a1c19bfaac7e32e08676bc9e30e4d2d0974e8;p=openwrt%2Fsvn-archive%2Fopenwrt.git

bcm53xx: fix booting BCM4709

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 44218
---

diff --git a/target/linux/bcm53xx/patches-3.14/323-ARM-BCM5301X-Add-DT-for-Netgear-R8000.patch b/target/linux/bcm53xx/patches-3.14/323-ARM-BCM5301X-Add-DT-for-Netgear-R8000.patch
index 2dae1046fe..72f83af2c6 100644
--- a/target/linux/bcm53xx/patches-3.14/323-ARM-BCM5301X-Add-DT-for-Netgear-R8000.patch
+++ b/target/linux/bcm53xx/patches-3.14/323-ARM-BCM5301X-Add-DT-for-Netgear-R8000.patch
@@ -59,6 +59,29 @@ index 0000000..2d7e388
 +		       0x88000000 0x08000000>;
 +	};
 +};
+--- a/arch/arm/mach-bcm/bcm_5301x.c
++++ b/arch/arm/mach-bcm/bcm_5301x.c
+@@ -35,15 +35,16 @@ static struct bcma_bus *bcm5301x_get_bcm
+ static int bcm5301x_abort_handler(unsigned long addr, unsigned int fsr,
+ 				 struct pt_regs *regs)
+ {
+-	if (fsr == 0x1c06 && first_fault) {
++	if ((fsr == 0x1406 || fsr == 0x1c06) && first_fault) {
+ 		first_fault = false;
+ 
+ 		/*
+-		 * These faults with code 0x1c06 happens for no good reason,
+-		 * possibly left over from the CFE boot loader.
++		 * These faults with codes 0x1406 (BCM4709) or 0x1c06 happens
++		 * for no good reason, possibly left over from the CFE boot
++		 * loader.
+ 		 */
+ 		pr_warn("External imprecise Data abort at addr=%#lx, fsr=%#x ignored.\n",
+-		addr, fsr);
++			addr, fsr);
+ 
+ 		/* Returning non-zero causes fault display and panic */
+ 		return 0;
 -- 
 1.8.4.5
 
diff --git a/target/linux/bcm53xx/patches-3.18/323-ARM-BCM5301X-Add-DT-for-Netgear-R8000.patch b/target/linux/bcm53xx/patches-3.18/323-ARM-BCM5301X-Add-DT-for-Netgear-R8000.patch
index 2409a04555..a09dbebe43 100644
--- a/target/linux/bcm53xx/patches-3.18/323-ARM-BCM5301X-Add-DT-for-Netgear-R8000.patch
+++ b/target/linux/bcm53xx/patches-3.18/323-ARM-BCM5301X-Add-DT-for-Netgear-R8000.patch
@@ -59,6 +59,29 @@ index 0000000..2d7e388
 +		       0x88000000 0x08000000>;
 +	};
 +};
+--- a/arch/arm/mach-bcm/bcm_5301x.c
++++ b/arch/arm/mach-bcm/bcm_5301x.c
+@@ -35,15 +35,16 @@ static struct bcma_bus *bcm5301x_get_bcm
+ static int bcm5301x_abort_handler(unsigned long addr, unsigned int fsr,
+ 				 struct pt_regs *regs)
+ {
+-	if (fsr == 0x1c06 && first_fault) {
++	if ((fsr == 0x1406 || fsr == 0x1c06) && first_fault) {
+ 		first_fault = false;
+ 
+ 		/*
+-		 * These faults with code 0x1c06 happens for no good reason,
+-		 * possibly left over from the CFE boot loader.
++		 * These faults with codes 0x1406 (BCM4709) or 0x1c06 happens
++		 * for no good reason, possibly left over from the CFE boot
++		 * loader.
+ 		 */
+ 		pr_warn("External imprecise Data abort at addr=%#lx, fsr=%#x ignored.\n",
+-		addr, fsr);
++			addr, fsr);
+ 
+ 		/* Returning non-zero causes fault display and panic */
+ 		return 0;
 -- 
 1.8.4.5