Re: [PATCH] wifi: mwifiex: fix freeze for 60 seconds caused by request_firmware

From: George Valkov

Date: Thu Jul 16 2026 - 04:27:29 EST


Please backport to 6.18 and 6.12, which are used by OpenWrt.
Initially I did not know that I could insert
free text between the commit message and the patch.
I apologise for that. I am still learning how to use git send-mail.

On Wed, 15 Jul 2026 at 17:52, Francesco Dolcini <francesco@xxxxxxxxxx> wrote:
>
> On Mon, Jul 13, 2026 at 01:17:09AM +0300, Georgi Valkov wrote:
> > Fix regression in rgpower table loading, caused by using
> > request_firmware(): when the requested firmware does not exist, e.g.
> > nxp/rgpower_WW.bin does not exist on OpenWRT builds for WRT3200ACM,
> > request_firmware() falls back to firmware_fallback_sysfs(), which expects
> > the firmware to be provided by user space using SYSFS. No such utility is
> > provided in this configuration, so the entire system locks up for 60
> > seconds, until the request times out. During this time, no other log
> > messages are observed, and the device does not respond to commands over
> > UART.
> >
> > The request_firmware() call is performed in the following context:
> > current->comm kworker/1:2 in_task 1 irqs_disabled 0 in_atomic 0
> >
> > Fixed by using request_firmware_direct(). This prevents fallback to SYSFS,
> > and avoids delay. The rgpower table is optional. The driver falls back
> > to the device tree power table if the firmware is not present.
> >
> > The error code is printed for debugging and returned to the caller,
> > which only cares for success or failure, so there are no side effects.
> >
> > Fixes: 7b6f16a25806 ("wifi: mwifiex: add rgpower table loading support")
> > Signed-off-by: Georgi Valkov <gvalkov@xxxxxxxxx>
>
> Reviewed-by: Francesco Dolcini <francesco.dolcini@xxxxxxxxxxx>
>