Re: [PATCH] wifi: ath11k: request firmware-2.bin directly
From: Julius Bairaktaris
Date: Thu Sep 10 2026 - 03:27:39 EST
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
>