linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: scott.branden@broadcom.com (Scott Branden)
To: linux-arm-kernel@lists.infradead.org
Subject: 4.4 BCM5301X ARM regression "External imprecise Data abort"
Date: Mon, 4 Apr 2016 14:08:45 -0700	[thread overview]
Message-ID: <5702D7DD.2080205@broadcom.com> (raw)
In-Reply-To: <CACna6rz=KE_FtNtrSKmcYE514s4-dgrnx=iGbN7JDXkQPd6bTw@mail.gmail.com>

Hi Rafal,

I do not work on BCM5301x SoCs but perhaps Jon Mason can comment.
A few comments inline as well.

On 16-04-03 11:13 PM, Rafa? Mi?ecki wrote:
> Hi guys,
>
> I got regression reports from Netgear R8000 (BCM4709A0) users and did
> some testing & regression tracking with Aditya.
>
> It happens that Linux 4.4 doesn't boot due to the following commits:
> bbeb920 ("ARM: 8422/1: enable imprecise aborts during early kernel startup")
> 9254970 ("ARM: 8447/1: catch pending imprecise abort on unmask")
> 937b123 ("ARM: BCM5301X: remove workaround imprecise abort fault handler")
>
> In kernel 4.3 we got that abort workaround which was resulting in:
> [    5.007128] Freeing unused kernel memory: 212K (c0435000 - c046a000)
> [    5.694632] init: Console is alive
> [    5.698169] init: - watchdog -
> [    5.701470] External imprecise Data abort at addr=0x0, fsr=0x1406 ignored.
> As you can see, this abort was happening soon after freeing unused
> memory and ignoring it *once* did the trick. It was never appearing
> again.
>
> With 4.4 similar (or the same?) abort happens earlier (during PCI host
> driver init) and doesn't get ignored:
> [    2.478461] pci 0000:00:00.0: PCI bridge to [bus 01]
> [    2.483451] pci 0000:00:00.0:   bridge window [mem 0x08000000-0x085fffff]
> [    2.599449] pcie_iproc_bcma bcma0:8: PCI host bridge to bus 0001:00
> [    2.605744] pci_bus 0001:00: root bus resource [mem 0x40000000-0x47ffffff]
> [    2.612657] pcie_iproc_bcma bcma0:8: link: UP
> [    2.617241] PCI: bus0: Fast back to back transfers disabled
> [    2.622845] pci 0001:00:00.0: bridge configuration invalid ([bus
> 00-00]), reconfiguring
> [    2.631297] PCI: bus1: Fast back to back transfers disabled
> [    2.636887] pci 0001:01:00.0: bridge configuration invalid ([bus
> 00-00]), reconfiguring
> [    2.645035] Unhandled fault: imprecise external abort (0x1406) at 0x00000000
> (see 4.4.txt for the backtrace)
>
> At first I was hoping that we simply need to re-add the removed
> workaround. I tried it but it appeared that one abort is immediately
> followed by another:
> [    2.936895] pci 0001:01:00.0: bridge configuration invalid ([bus
> 00-00]), reconfiguring
> [    2.945053] External imprecise Data abort at addr=0x0, fsr=0x1406 ignored.
> [    2.951966] Unhandled fault: imprecise external abort (0x1406) at 0x00000000
>
> So it seems that commits bbeb920 and 9254970 broke something in PCI
> host initialization (or maybe just exposed another bug?). Instead of
> getting an abort once and late we are getting now many of them and a
> bit earlier.
We do not observe such issues in Cygnus and other SoCs that use this 
PCIe driver (we do not use bcma either - I do not know if that is related).
>
> Reverting all three commits from the top of 4.4.6 gives me back a
> working & booting kernel.
>
> Do you have any idea how to fix this regression (and hopefully
> original problem as well)?
I think the proper fix is to correct the issues in the bootloader.  It 
was my understanding from Jon Mason that this is the root of the 
original problem.
>

Regards,
Scott

  reply	other threads:[~2016-04-04 21:08 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-04  6:13 4.4 BCM5301X ARM regression "External imprecise Data abort" Rafał Miłecki
2016-04-04 21:08 ` Scott Branden [this message]
2016-04-04 21:23   ` Hauke Mehrtens
2016-04-08  6:45     ` Rafał Miłecki
2016-04-08  8:43       ` Lucas Stach
2016-04-08 22:02         ` Ray Jui
2016-04-08 22:05           ` Rafał Miłecki
2016-04-08 22:08             ` Ray Jui
2016-04-08 22:11               ` Rafał Miłecki
2016-04-08 22:41                 ` Ray Jui
2016-04-08 22:53                   ` Rafał Miłecki
2016-04-09  0:00                     ` Ray Jui
     [not found] ` <CAC3K-4pHw1YQbcD2pp3eaJp0o5OSO+Ft0B_0o1y6uRCJGxGhaw@mail.gmail.com>
2016-04-07 18:48   ` Rafał Miłecki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5702D7DD.2080205@broadcom.com \
    --to=scott.branden@broadcom.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).