bcm53xx: fix booting BCM4709
[openwrt/openwrt.git] / target / linux / bcm53xx / patches-3.18 / 323-ARM-BCM5301X-Add-DT-for-Netgear-R8000.patch
index 2409a045556860e2c835db659219850ade615f41..a09dbebe43422a7806541182b38027bac5288f4e 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