Re: [PATCH] wifi: ath11k: request firmware-2.bin directly
From: Julius Bairaktaris
Date: Sat Oct 17 2026 - 06:39:02 EST
Hi Jeff,
gentle ping on this one. Would you also like the same change for
ath12k? I can send it as a separate patch.
Thanks,
Julius
Am Do., 10. Sept. 2026 um 07:25 Uhr schrieb Julius Bairaktaris
<julius@xxxxxxxxxxxxxx>:
>
> Hi,
>
> This doesn't change functionality, but log lines like
>
> Could not find firmware /lib/firmware/ath11k/IPQ8074/hw2.0/firmware-2.bin
>
> confuse the average user.
>
> linux-firmware does not ship firmware-2.bin for IPQ5424. I don't have the
> hardware, so the fix would be unverified there. Would you like the same
> change for ath12k?
>
> Julius
>
> Am Do., 10. Sept. 2026 um 07:18 Uhr schrieb Julius Bairaktaris
> <julius@xxxxxxxxxxxxxx>:
> >
> > ath11k treats firmware-2.bin as optional and falls back to API 1 when
> > the file is not present. Request it with request_firmware_direct(),
> > which does not fall back to the userspace firmware helper.
> >
> > Closes: https://github.com/openwrt/openwrt/issues/24743
> > Assisted-by: Claude:claude-opus-5
> > Signed-off-by: Julius Bairaktaris <julius@xxxxxxxxxxxxxx>
> > ---
> > drivers/net/wireless/ath/ath11k/fw.c | 8 +++++---
> > 1 file changed, 5 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/net/wireless/ath/ath11k/fw.c b/drivers/net/wireless/ath/ath11k/fw.c
> > index ef1b4c81843a..88ec2ffd9f00 100644
> > --- a/drivers/net/wireless/ath/ath11k/fw.c
> > +++ b/drivers/net/wireless/ath/ath11k/fw.c
> > @@ -16,10 +16,12 @@ static int ath11k_fw_request_firmware_api_n(struct ath11k_base *ab,
> > struct ath11k_fw_ie *hdr;
> > const u8 *data;
> > __le32 *timestamp;
> > + char path[100];
> >
> > - ab->fw.fw = ath11k_core_firmware_request(ab, name);
> > - if (IS_ERR(ab->fw.fw)) {
> > - ret = PTR_ERR(ab->fw.fw);
> > + ath11k_core_create_firmware_path(ab, name, path, sizeof(path));
> > +
> > + ret = request_firmware_direct(&ab->fw.fw, path, ab->dev);
> > + if (ret) {
> > ath11k_dbg(ab, ATH11K_DBG_BOOT, "failed to load %s: %d\n", name, ret);
> > ab->fw.fw = NULL;
> > return ret;
> > --
> > 2.53.0
> >