[BUG] PCIe on Armada 388 broken since 5.9

Rob Herring robh at kernel.org
Thu Oct 22 18:04:24 EDT 2020


On Thu, Oct 22, 2020 at 4:32 PM Russell King - ARM Linux admin
<linux at armlinux.org.uk> wrote:
>
> On Thu, Oct 22, 2020 at 10:18:21PM +0100, Russell King - ARM Linux admin wrote:
> > Hi,
> >
> > It appears that PCIe on Armada 388 has been broken in 5.9. Here are
> > the boot messages:
> >
> > mvebu-pcie soc:pcie: host bridge /soc/pcie ranges:
> > mvebu-pcie soc:pcie:      MEM 0x00f1080000..0x00f1081fff -> 0x0000080000
> > mvebu-pcie soc:pcie:      MEM 0x00f1040000..0x00f1041fff -> 0x0000040000
> > mvebu-pcie soc:pcie:      MEM 0x00f1044000..0x00f1045fff -> 0x0000044000
> > mvebu-pcie soc:pcie:      MEM 0x00f1048000..0x00f1049fff -> 0x0000048000
> > mvebu-pcie soc:pcie:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0100000000
> > mvebu-pcie soc:pcie:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0100000000
> > mvebu-pcie soc:pcie:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0200000000
> > mvebu-pcie soc:pcie:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0200000000
> > mvebu-pcie soc:pcie:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0300000000
> > mvebu-pcie soc:pcie:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0300000000
> > mvebu-pcie soc:pcie:      MEM 0xffffffffffffffff..0x00fffffffe -> 0x0400000000
> > mvebu-pcie soc:pcie:       IO 0xffffffffffffffff..0x00fffffffe -> 0x0400000000
> > mvebu-pcie soc:pcie: resource collision: [mem 0xf1080000-0xf1081fff] conflicts with pcie [mem 0xf1080000-0xf1081fff]
> > mvebu-pcie: probe of soc:pcie failed with error -16
> >
> > This results in PCIe being entirely non-functional. At a guess, I'd
> > say it's due to:
> >
> > commit c322fa0b3fa948010a278794e60c45ec860e4a1e
> > Author: Rob Herring <robh at kernel.org>
> > Date:   Fri May 22 17:48:19 2020 -0600
> >
> >     PCI: mvebu: Use struct pci_host_bridge.windows list directly
> >
> >     There's no need to create a temporary resource list and then splice it to
> >     struct pci_host_bridge.windows list. Just use pci_host_bridge.windows
> >     directly. The necessary clean-up is already handled by the PCI core.
> >
> >     Link: https://lore.kernel.org/r/20200522234832.954484-3-robh@kernel.org
> >     Signed-off-by: Rob Herring <robh at kernel.org>
> >     Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi at arm.com>
> >     Cc: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
> >     Cc: Jason Cooper <jason at lakedaemon.net>
>
> Confirmed. Reverting this commit results in functioning PCIe.

Yes, but really it's broken by 2 commits. The other is 669cbc708122
("PCI: Move DT resource setup into devm_pci_alloc_host_bridge()").

I just sent out a fix, please test.

Rob



More information about the linux-arm-kernel mailing list