Re: [meta-freescale] linux-fslc 5.4.114: rcu_preempt detected stalls on IMX7D #dunfell #meta-freescale

Fabio Estevam <[email protected]> Wed, 12 Jan 2022 09:26:29 -0300
Newsgroups org.yoctoproject.lists.meta-freescale
Message-ID <CAOMZO5DGF5LyM8OBn2AJ9agQg1o-Jkx-Gv6BUcXEg_CD3upzOw@mail.gmail.com>
On Tue, Jan 11, 2022 at 11:29 PM <[email protected]> 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.