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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.