Aw: Re: [PATCH 09/13] PCI: mediatek: Advertise lack of MSI handling

Frank Wunderlich frank-w at public-files.de
Mon Mar 1 12:16:01 GMT 2021



regards Frank


> Gesendet: Montag, 01. März 2021 um 12:49 Uhr
> Von: "Marc Zyngier" <maz at kernel.org>
> 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 at public-files.de>
> 
> 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)



More information about the linux-arm-kernel mailing list