bcm53xx: fix booting BCM4709
authorrmilecki <rmilecki@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 30 Jan 2015 06:58:35 +0000 (06:58 +0000)
committerrmilecki <rmilecki@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 30 Jan 2015 06:58:35 +0000 (06:58 +0000)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44218 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/bcm53xx/patches-3.14/323-ARM-BCM5301X-Add-DT-for-Netgear-R8000.patch
target/linux/bcm53xx/patches-3.18/323-ARM-BCM5301X-Add-DT-for-Netgear-R8000.patch

index 2dae104..72f83af 100644 (file)
@@ -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
 
index 2409a04..a09dbeb 100644 (file)
@@ -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