Re: [PATCH v4 0/2] PCI: iproc-bcma: Use EROM instead of devicetree
From: Semih Baskan
Date: Thu Oct 15 2026 - 14:51:25 EST
> Humm, this is not materially different for me before/after applying tihs
> patch and unfortunately but here is what I am getting with these two
> patches applied on top of Linus' master at
> 0fcb05b72344f40806cbe810de8872f1698bf053:
[...]
> Unhandled fault: external abort on non-linefetch (0x1008) at 0xc896df40
[...]
> r3 : c896df40 r2 : 0000ffff r1 : 00000f40 r0 : c1ce1a00
[...]
> pci_host_probe from iproc_pcie_setup+0x8a0/0xd94
> iproc_pcie_setup from iproc_pltfm_pcie_probe+0x10c/0x1d4
The series only changes the pcie-iproc-bcma path, and this kernel probes
the controller with pcie-iproc-platform, so the patches do not run here.
I think the abort is the read of APB_ERR_EN at offset 0xf40 (r1). I
measured the same on an RT-N18U (core revision 0x01) in September: the
platform-only kernel does not come up, and with this one line it boots
and enumerates the BCM4360 [1]:
--- a/drivers/pci/controller/pcie-iproc.c
+++ b/drivers/pci/controller/pcie-iproc.c
@@ -1388,7 +1388,7 @@
break;
case IPROC_PCIE_PAXB:
regs = iproc_pcie_reg_paxb;
- pcie->has_apb_err_disable = true;
+ pcie->has_apb_err_disable = false;
if (pcie->need_ob_cfg) {
pcie->ob_map = paxb_ob_map;
pcie->ob.nr_windows = ARRAY_SIZE(paxb_ob_map);
[1] https://lore.kernel.org/all/CAAsRjRnV-RTddO6h2XCUz2N5pB0pS8i_-_2XRcD=WOTA7AAFZQ@xxxxxxxxxxxxxx/
Best regards,
Semih