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
next prev parent 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).