* [PATCH 1/1] wifi: brcmfmac: silence warning for non-existent, optional firmware
@ 2026-03-17 11:12 Alexander Stein
2026-03-18 7:42 ` Christian Hewitt
0 siblings, 1 reply; 3+ messages in thread
From: Alexander Stein @ 2026-03-17 11:12 UTC (permalink / raw)
To: Arend van Spriel
Cc: Alexander Stein, linux-wireless, brcm80211,
brcm80211-dev-list.pdl, linux-kernel
The driver tries to load optional firmware files, specific to
the actual board compatible. These might not exist resulting in a warning
like this:
brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac4373-sdio.tq,imx93-tqma9352-mba93xxla-mini.bin failed with error -2
Silence this by using firmware_request_nowait_nowarn() for all firmware
loads which use brcmf_fw_request_done_alt_path() as callback. This one
handles optional firmware files.
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
---
.../broadcom/brcm80211/brcmfmac/firmware.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
index 4bacd83db052e..e84cec58470c5 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
@@ -714,9 +714,10 @@ static void brcmf_fw_request_done_alt_path(const struct firmware *fw, void *ctx)
if (!alt_path)
goto fallback;
- ret = request_firmware_nowait(THIS_MODULE, true, alt_path,
- fwctx->dev, GFP_KERNEL, fwctx,
- brcmf_fw_request_done_alt_path);
+ ret = firmware_request_nowait_nowarn(THIS_MODULE,
+ alt_path, fwctx->dev,
+ GFP_KERNEL, fwctx,
+ brcmf_fw_request_done_alt_path);
kfree(alt_path);
if (ret < 0)
@@ -779,9 +780,10 @@ int brcmf_fw_get_firmwares(struct device *dev, struct brcmf_fw_request *req,
fwctx->req->board_types[0]);
if (alt_path) {
fwctx->board_index++;
- ret = request_firmware_nowait(THIS_MODULE, true, alt_path,
- fwctx->dev, GFP_KERNEL, fwctx,
- brcmf_fw_request_done_alt_path);
+ ret = firmware_request_nowait_nowarn(THIS_MODULE,
+ alt_path, fwctx->dev,
+ GFP_KERNEL, fwctx,
+ brcmf_fw_request_done_alt_path);
kfree(alt_path);
} else {
ret = request_firmware_nowait(THIS_MODULE, true, first->path,
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH 1/1] wifi: brcmfmac: silence warning for non-existent, optional firmware
2026-03-17 11:12 [PATCH 1/1] wifi: brcmfmac: silence warning for non-existent, optional firmware Alexander Stein
@ 2026-03-18 7:42 ` Christian Hewitt
2026-03-19 11:23 ` Alexander Stein
0 siblings, 1 reply; 3+ messages in thread
From: Christian Hewitt @ 2026-03-18 7:42 UTC (permalink / raw)
To: Alexander Stein
Cc: Arend van Spriel, linux-wireless, brcm80211,
brcm80211-dev-list.pdl, linux-kernel
> On 17 Mar 2026, at 3:12 pm, Alexander Stein <alexander.stein@ew.tq-group.com> wrote:
>
> The driver tries to load optional firmware files, specific to
> the actual board compatible. These might not exist resulting in a warning
> like this:
> brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac4373-sdio.tq,imx93-tqma9352-mba93xxla-mini.bin failed with error -2
>
> Silence this by using firmware_request_nowait_nowarn() for all firmware
> loads which use brcmf_fw_request_done_alt_path() as callback. This one
> handles optional firmware files.
>
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
On behalf of all distro maintainers receiving end-user issue reports
that wrongly finger-point to “missing firmware” as the cause of all
brcmfmac wifi problems:
Tested-by: Christian Hewitt <christianshewitt@gmail.com>
Before and After below:
VIM1S:~ # dmesg | grep brcmfmac
[ 12.687679] brcmfmac: F1 signature read @0x18000000=0x15294345
[ 12.727469] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43456-sdio for chip BCM4345/9
[ 12.727947] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43456-sdio.khadas,vim1s.bin failed with error -2
[ 12.813544] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43456-sdio.clm_blob failed with error -2
[ 13.157373] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[ 13.157423] brcmfmac: brcmf_c_process_txcap_blob: no txcap_blob available (err=-2)
[ 13.159391] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/9 wl0: Jun 16 2017 12:38:26 version 7.45.96.2 (66c4e21@sh-git) (r) FWID 01-1813af84
VIM1S:~ # dmesg | grep brcmfmac
[ 12.218764] brcmfmac: F1 signature read @0x18000000=0x15294345
[ 12.283612] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43456-sdio for chip BCM4345/9
[ 12.382176] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43456-sdio.clm_blob failed with error -2
[ 12.678015] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
[ 12.678066] brcmfmac: brcmf_c_process_txcap_blob: no txcap_blob available (err=-2)
[ 12.680092] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/9 wl0: Jun 16 2017 12:38:26 version 7.45.96.2 (66c4e21@sh-git) (r) FWID 01-1813af84
Is there any chance the same change can be done for the clm_blob and
txcap_blob error messages? (for the same reason). Other than for RPi
boards I’ve never seen these files available and used with any large
scale Linux distro and there are none in the upstream linux-firmware
repo; thus these files are only being packaged by specialist distros
or images targeting a specific or limited set of hardware devices. For
everyone else running a mainstream distro image these errors are just
log-noise, and while they are harmless and technically correct, end-
users constantly misinterpret them.
Christian
> ---
> .../broadcom/brcm80211/brcmfmac/firmware.c | 14 ++++++++------
> 1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
> index 4bacd83db052e..e84cec58470c5 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
> @@ -714,9 +714,10 @@ static void brcmf_fw_request_done_alt_path(const struct firmware *fw, void *ctx)
> if (!alt_path)
> goto fallback;
>
> - ret = request_firmware_nowait(THIS_MODULE, true, alt_path,
> - fwctx->dev, GFP_KERNEL, fwctx,
> - brcmf_fw_request_done_alt_path);
> + ret = firmware_request_nowait_nowarn(THIS_MODULE,
> + alt_path, fwctx->dev,
> + GFP_KERNEL, fwctx,
> + brcmf_fw_request_done_alt_path);
> kfree(alt_path);
>
> if (ret < 0)
> @@ -779,9 +780,10 @@ int brcmf_fw_get_firmwares(struct device *dev, struct brcmf_fw_request *req,
> fwctx->req->board_types[0]);
> if (alt_path) {
> fwctx->board_index++;
> - ret = request_firmware_nowait(THIS_MODULE, true, alt_path,
> - fwctx->dev, GFP_KERNEL, fwctx,
> - brcmf_fw_request_done_alt_path);
> + ret = firmware_request_nowait_nowarn(THIS_MODULE,
> + alt_path, fwctx->dev,
> + GFP_KERNEL, fwctx,
> + brcmf_fw_request_done_alt_path);
> kfree(alt_path);
> } else {
> ret = request_firmware_nowait(THIS_MODULE, true, first->path,
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH 1/1] wifi: brcmfmac: silence warning for non-existent, optional firmware
2026-03-18 7:42 ` Christian Hewitt
@ 2026-03-19 11:23 ` Alexander Stein
0 siblings, 0 replies; 3+ messages in thread
From: Alexander Stein @ 2026-03-19 11:23 UTC (permalink / raw)
To: Christian Hewitt
Cc: Arend van Spriel, linux-wireless, brcm80211,
brcm80211-dev-list.pdl, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 3560 bytes --]
Hi,
Am Mittwoch, 18. März 2026, 08:42:55 CET schrieb Christian Hewitt:
> > On 17 Mar 2026, at 3:12 pm, Alexander Stein <alexander.stein@ew.tq-group.com> wrote:
> >
> > The driver tries to load optional firmware files, specific to
> > the actual board compatible. These might not exist resulting in a warning
> > like this:
> > brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac4373-sdio.tq,imx93-tqma9352-mba93xxla-mini.bin failed with error -2
> >
> > Silence this by using firmware_request_nowait_nowarn() for all firmware
> > loads which use brcmf_fw_request_done_alt_path() as callback. This one
> > handles optional firmware files.
> >
> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
>
> On behalf of all distro maintainers receiving end-user issue reports
> that wrongly finger-point to “missing firmware” as the cause of all
> brcmfmac wifi problems:
>
> Tested-by: Christian Hewitt <christianshewitt@gmail.com>
Thanks.
> Before and After below:
>
> VIM1S:~ # dmesg | grep brcmfmac
> [ 12.687679] brcmfmac: F1 signature read @0x18000000=0x15294345
> [ 12.727469] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43456-sdio for chip BCM4345/9
> [ 12.727947] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43456-sdio.khadas,vim1s.bin failed with error -2
> [ 12.813544] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43456-sdio.clm_blob failed with error -2
> [ 13.157373] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
> [ 13.157423] brcmfmac: brcmf_c_process_txcap_blob: no txcap_blob available (err=-2)
> [ 13.159391] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/9 wl0: Jun 16 2017 12:38:26 version 7.45.96.2 (66c4e21@sh-git) (r) FWID 01-1813af84
>
> VIM1S:~ # dmesg | grep brcmfmac
> [ 12.218764] brcmfmac: F1 signature read @0x18000000=0x15294345
> [ 12.283612] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43456-sdio for chip BCM4345/9
> [ 12.382176] brcmfmac mmc2:0001:1: Direct firmware load for brcm/brcmfmac43456-sdio.clm_blob failed with error -2
> [ 12.678015] brcmfmac: brcmf_c_process_clm_blob: no clm_blob available (err=-2), device may have limited channels available
> [ 12.678066] brcmfmac: brcmf_c_process_txcap_blob: no txcap_blob available (err=-2)
> [ 12.680092] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/9 wl0: Jun 16 2017 12:38:26 version 7.45.96.2 (66c4e21@sh-git) (r) FWID 01-1813af84
>
> Is there any chance the same change can be done for the clm_blob and
> txcap_blob error messages? (for the same reason). Other than for RPi
> boards I’ve never seen these files available and used with any large
> scale Linux distro and there are none in the upstream linux-firmware
> repo; thus these files are only being packaged by specialist distros
> or images targeting a specific or limited set of hardware devices. For
> everyone else running a mainstream distro image these errors are just
> log-noise, and while they are harmless and technically correct, end-
> users constantly misinterpret them.
Well, my platform doesn't generate errors/warnings for clm_blob and
txcap_blob, so I don't know which code path triffers them, nor car I test
them.
Best regards,
Alexander
--
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-03-19 11:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-17 11:12 [PATCH 1/1] wifi: brcmfmac: silence warning for non-existent, optional firmware Alexander Stein
2026-03-18 7:42 ` Christian Hewitt
2026-03-19 11:23 ` Alexander Stein
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox