regards Frank > Gesendet: Montag, 01. März 2021 um 12:49 Uhr > Von: "Marc Zyngier" <maz@xxxxxxxxxx> > Frank, > > On 2021-03-01 10:43, Frank Wunderlich wrote: > > tested full series on bananapi-r2 and r64 > > > > r2 (with mt7615) looks good. > > > > on r64 (with atheros card WLE900VX) i see this while loading ath10k > > driver: > > > > [ 6.525981] ath10k_pci 0000:01:00.0: enabling device (0000 -> 0002) > > [ 6.537810] ath10k_pci 0000:01:00.0: enabling bus mastering > > [ 6.543831] Unable to handle kernel paging request at virtual > > address ffffff4 > > 013be2a80 > > [ 6.551890] Mem abort info: > > [ 6.554744] ESR = 0x96000044 > > [ 6.557870] EC = 0x25: DABT (current EL), IL = 32 bits > > [ 6.563267] SET = 0, FnV = 0 > > [ 6.566396] EA = 0, S1PTW = 0 > > [ 6.569611] Data abort info: > > [ 6.572501] ISV = 0, ISS = 0x00000044 > > [ 6.576411] CM = 0, WnR = 1 > > [ 6.579450] [ffffff4013be2a80] address between user and kernel > > address ranges > > [ 6.586659] Internal error: Oops: 96000044 [#1] PREEMPT SMP > > [ 6.592248] Modules linked in: ath10k_pci(+) ath10k_core ath > > mac80211 libarc4 > > btmtkuart cfg80211 bluetooth ecdh_generic ecc rfkill libaes ip_tables > > x_tables > > [ 6.606329] CPU: 1 PID: 114 Comm: systemd-udevd Not tainted > > 5.11.0-bpi-r64-pc > > i #3 > > [ 6.613819] Hardware name: Bananapi BPI-R64 (DT) > > [ 6.618439] pstate: 80000005 (Nzcv daif -PAN -UAO -TCO BTYPE=--) > > [ 6.624452] pc : queued_spin_lock_slowpath+0x1e8/0x31c > > [ 6.629608] lr : queued_spin_lock_slowpath+0xac/0x31c > > [ 6.634666] sp : ffffffc010f63550 > > [ 6.637982] x29: ffffffc010f63550 x28: 000000000000fc7e > > [ 6.643306] x27: ffffffc010c67410 x26: 0000000000080000 > > [ 6.648629] x25: ffffffc010c67880 x24: ffffffc010f63810 > > [ 6.653950] x23: 0000000000000000 x22: ffffffc010ba8860 > > [ 6.659270] x21: ffffff803fdcc540 x20: ffffffc010a1c540 > > [ 6.664591] x19: ffffff80016a1708 x18: 0000000000000000 > > [ 6.669914] x17: 0000000000000000 x16: 0000000000000000 > > [ 6.675236] x15: 000000000000000a x14: 0000000000000092 > > [ 6.680560] x13: ffffff8006671004 x12: 0000000000000000 > > [ 6.685883] x11: 0101010101010101 x10: ffffff8001635568 > > [ 6.691206] x9 : 0000000000080000 x8 : ffffff8001635560 > > [ 6.696529] x7 : 0000000000000000 x6 : ffffff803fdcc540 > > [ 6.701849] x5 : 0000000000000002 x4 : 0000000000080000 > > [ 6.707170] x3 : ffffff80016a170a x2 : 000000000000016a > > [ 6.712493] x1 : ffffff80031c6520 x0 : ffffffc010a1c560 > > [ 6.717818] Call trace: > > [ 6.720276] queued_spin_lock_slowpath+0x1e8/0x31c > > [ 6.725086] do_raw_spin_lock+0x2c/0x38 > > [ 6.728931] _raw_spin_lock+0x24/0x34 > > [ 6.732606] __mutex_lock.isra.0+0xc4/0x29c > > [ 6.736799] __mutex_lock_slowpath+0x14/0x20 > > [ 6.741078] mutex_lock+0x28/0x34 > > [ 6.744402] mtk_pcie_irq_domain_alloc+0x3c/0xd0 > > [ 6.749037] irq_domain_alloc_irqs_hierarchy+0x50/0x54 > > [ 6.754187] irq_domain_alloc_irqs_parent+0x18/0x2c > > [ 6.759073] msi_domain_alloc+0x8c/0x12c > > [ 6.763007] irq_domain_alloc_irqs_hierarchy+0x50/0x54 > > [ 6.768154] __irq_domain_alloc_irqs+0x114/0x344 > > [ 6.772780] __msi_domain_alloc_irqs+0x110/0x318 > > [ 6.777408] msi_domain_alloc_irqs+0x1c/0x28 > > [ 6.781685] pci_msi_setup_msi_irqs.isra.0+0x2c/0x44 > > [ 6.786662] __pci_enable_msi_range+0x230/0x320 > > [ 6.791202] pci_enable_msi+0x1c/0x30 > > [ 6.794874] ath10k_pci_probe+0x480/0x748 [ath10k_pci] > > [ 6.800058] pci_device_probe+0xbc/0x14c > > [ 6.804014] really_probe+0x2a0/0x470 > > [ 6.807701] driver_probe_device+0x12c/0x13c > > [ 6.811981] device_driver_attach+0x44/0x70 > > [ 6.816181] __driver_attach+0x13c/0x140 > > [ 6.820126] bus_for_each_dev+0x70/0xc0 > > [ 6.823971] driver_attach+0x24/0x30 > > [ 6.827556] bus_add_driver+0x1a4/0x1ec > > [ 6.831401] driver_register+0xb4/0xec > > [ 6.835168] __pci_register_driver+0x44/0x50 > > [ 6.839465] ath10k_pci_init+0x28/0x1000 [ath10k_pci] > > [ 6.844563] do_one_initcall+0x6c/0x188 > > [ 6.848431] do_init_module+0x5c/0x1e8 > > [ 6.852205] load_module+0x1124/0x11c8 > > [ 6.855967] __do_sys_finit_module+0xdc/0x100 > > [ 6.860335] __arm64_sys_finit_module+0x1c/0x28 > > [ 6.864877] el0_svc_common.constprop.0+0x124/0x198 > > [ 6.869766] do_el0_svc+0x48/0x78 > > [ 6.873089] el0_svc+0x14/0x20 > > [ 6.876158] el0_sync_handler+0xcc/0x154 > > [ 6.880091] el0_sync+0x174/0x180 > > [ 6.883425] Code: d37c0400 51000421 8b000280 f861dac1 (f8216806) > > [ 6.889525] ---[ end trace 62498e1f489ea3ab ]--- > > > > i guess it's a bug in ath10k driver or my r64 board (it is a v1.1 > > which has missing capacitors on tx lines). > > No, this definitely looks like a bug in the MTK PCIe driver, > where the mutex is either not properly initialised, corrupted, > or the wrong pointer is passed. but why does it happen only with the ath10k-card and not the mt7612 in same slot? > This r64 machine is supposed to have working MSIs, right? imho mt7622 have working MSI > Do you get the same issue without this series? tested 5.11.0 [1] without this series (but with your/thomas' patch from discussion about my old patch) and got same trace. so this series does not break anything here. > > Tried with an mt7612e, this seems to work without any errors. > > > > so for mt7622/mt7623 > > > > Tested-by: Frank Wunderlich <frank-w@xxxxxxxxxxxxxxx> > > We definitely need to understand the above. there is a hardware-bug which may cause this...afair i saw this with the card in r64 with earlier Kernel-versions where other cards work (like the mt7612e). regards Frank [1] https://github.com/frank-w/BPI-R2-4.14/commits/5.11-main (pci: fix MSI issue part X)