ulli-kroll/rtw88-usb

hard lockup with rtl8822bu

Opened this issue · 2 comments

When I load the module it seems to work for a while, but my dmesg log is full of scheduling while atomic errors, then I generally get a hard lockup soon thereafter.

I'll try to probe into this a bit further, but I thought I'd open an issue in case anyone else is having the same problem.

I should add that I'm on x86, using the 5.10.7 kernel.

It's because of the architecture of rtw88, and in some atomic area, USB read/write operations can not work as normal.
I changed the relative usb read/write code from waiting thread completion to polling the status in USB software IRQ,
and it works fine as the below submit.
( Please note that we cannot use spin_lock_irqsave() for rf_lock but spin_lock still )
I can help to pull request to this repository to see if it helps if you think it deserves a trial.
https://github.com/neojou/rtw88-usb/commit/8dafc4dec4b74b2b022c0b36a8b8150889848b0c