mac80211: ath11k: sync with ath-next
[openwrt/openwrt.git] / package / kernel / mac80211 / patches / ath11k / 0083-wifi-ath11k-Allow-ath11k-to-boot-without-caldata-in-.patch
1 From 8aeba427296bff6a6051686f1d139c89a0b00e4c Mon Sep 17 00:00:00 2001
2 From: Sowmiya Sree Elavalagan <quic_ssreeela@quicinc.com>
3 Date: Fri, 26 May 2023 12:41:07 +0300
4 Subject: [PATCH 84/84] wifi: ath11k: Allow ath11k to boot without caldata in
5 ftm mode
6
7 Currently, if ath11k is unable to load the calibration data file it will
8 always exit. However the calibration data may not be present in factory
9 test mode, so update the logic to allow the driver to execute in FTM mode
10 even if downloading the calibration data fails.
11
12 Tested-on : IPQ8074 hw2.0 AHB WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
13
14 Signed-off-by: Sowmiya Sree Elavalagan <quic_ssreeela@quicinc.com>
15 Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com>
16 Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
17 Link: https://lore.kernel.org/r/20230517135934.16408-5-quic_rajkbhag@quicinc.com
18 ---
19 drivers/net/wireless/ath/ath11k/qmi.c | 10 +++++++++-
20 1 file changed, 9 insertions(+), 1 deletion(-)
21
22 --- a/drivers/net/wireless/ath/ath11k/qmi.c
23 +++ b/drivers/net/wireless/ath/ath11k/qmi.c
24 @@ -1,7 +1,7 @@
25 // SPDX-License-Identifier: BSD-3-Clause-Clear
26 /*
27 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
28 - * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
29 + * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
30 */
31
32 #include <linux/elf.h>
33 @@ -2460,6 +2460,14 @@ static int ath11k_qmi_load_bdf_qmi(struc
34
35 fw_entry = ath11k_core_firmware_request(ab, ATH11K_DEFAULT_CAL_FILE);
36 if (IS_ERR(fw_entry)) {
37 + /* Caldata may not be present during first time calibration in
38 + * factory hence allow to boot without loading caldata in ftm mode
39 + */
40 + if (ath11k_ftm_mode) {
41 + ath11k_info(ab,
42 + "Booting without cal data file in factory test mode\n");
43 + return 0;
44 + }
45 ret = PTR_ERR(fw_entry);
46 ath11k_warn(ab,
47 "qmi failed to load CAL data file:%s\n",