063-ARM-BCM5301X-Ignore-another-BCM4709-specific-fault-c.patch 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. From 7eb68a2a0519a77b93184c695d4d293c92dc2286 Mon Sep 17 00:00:00 2001
  2. From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
  3. Date: Wed, 11 Feb 2015 16:40:58 +0100
  4. Subject: [PATCH] ARM: BCM5301X: Ignore another (BCM4709 specific) fault code
  5. MIME-Version: 1.0
  6. Content-Type: text/plain; charset=UTF-8
  7. Content-Transfer-Encoding: 8bit
  8. Broadcom ARM devices seem to generate some fault once per boot. We
  9. already have an ignoring handler for BCM4707/BCM4708, but BCM4709
  10. generates different code.
  11. Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
  12. Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
  13. ---
  14. arch/arm/mach-bcm/bcm_5301x.c | 9 +++++----
  15. 1 file changed, 5 insertions(+), 4 deletions(-)
  16. --- a/arch/arm/mach-bcm/bcm_5301x.c
  17. +++ b/arch/arm/mach-bcm/bcm_5301x.c
  18. @@ -18,15 +18,16 @@ static bool first_fault = true;
  19. static int bcm5301x_abort_handler(unsigned long addr, unsigned int fsr,
  20. struct pt_regs *regs)
  21. {
  22. - if (fsr == 0x1c06 && first_fault) {
  23. + if ((fsr == 0x1406 || fsr == 0x1c06) && first_fault) {
  24. first_fault = false;
  25. /*
  26. - * These faults with code 0x1c06 happens for no good reason,
  27. - * possibly left over from the CFE boot loader.
  28. + * These faults with codes 0x1406 (BCM4709) or 0x1c06 happens
  29. + * for no good reason, possibly left over from the CFE boot
  30. + * loader.
  31. */
  32. pr_warn("External imprecise Data abort at addr=%#lx, fsr=%#x ignored.\n",
  33. - addr, fsr);
  34. + addr, fsr);
  35. /* Returning non-zero causes fault display and panic */
  36. return 0;