On Tue, Jan 11, 2022 at 11:29 PM <benson_young@...> wrote:
[Edited Message Follows]
Hello,
We are experiencing kernel crash when we are stress testing WiFi functionality. please see attachment for kernel dump (near end of log) we have read that rcu_preempt dump are sometimes caused by spin lock used by driver when kernel has PREEMPT enabled. and suggested solution is making change as something below spin_unlock_irq(&signal->obj.wait.lock); ---> raw_spin_unlock_irq(&signal->obj.wait.lock); spin_lock_irq(&signal->obj.wait.lock); -----> raw_spin_lock_irq(&signal->obj.wait.lock); however, the wireless driver on our platform doesn't use such calls.
The WiFi device is an RTL8822CS using SDIO interface, it is an out-of-tree driver released by Realtek.
Ok, understood. The RTL8822 driver available in the kernel is for PCI-only.
You should push Realtek to upstream RTL8822CS SDIO support as working with an out-of-tree driver is too painful.
When we applied the same wireless driver on official NXP BSPs Linux 5.10.9 (gatesgarth) and Linux 4.9.11 (morty) this issue isn't observed. Attaching the kernel configs for the two BSPs config_5.4.114_dunfell (meta-freescale community BSP). config_5.10.9_gatesgarth (NXP official BSP)
Can anyone please advise on possible cause and solution?
I suggest you use a 5.10 linux-fslc kernel version.