wifi: ath11k: Allow ath11k to boot without caldata in ftm mode
authorSowmiya Sree Elavalagan <quic_ssreeela@quicinc.com>
Fri, 26 May 2023 09:41:07 +0000 (12:41 +0300)
committerKalle Valo <quic_kvalo@quicinc.com>
Thu, 1 Jun 2023 10:30:49 +0000 (13:30 +0300)
Currently, if ath11k is unable to load the calibration data file it will
always exit. However the calibration data may not be present in factory
test mode, so update the logic to allow the driver to execute in FTM mode
even if downloading the calibration data fails.

Tested-on : IPQ8074 hw2.0 AHB WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1

Signed-off-by: Sowmiya Sree Elavalagan <quic_ssreeela@quicinc.com>
Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20230517135934.16408-5-quic_rajkbhag@quicinc.com
drivers/net/wireless/ath/ath11k/qmi.c

index ab923e2..fa94ad8 100644 (file)
@@ -1,7 +1,7 @@
 // SPDX-License-Identifier: BSD-3-Clause-Clear
 /*
  * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
- * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
  */
 
 #include <linux/elf.h>
@@ -2457,6 +2457,14 @@ static int ath11k_qmi_load_bdf_qmi(struct ath11k_base *ab,
 
                fw_entry = ath11k_core_firmware_request(ab, ATH11K_DEFAULT_CAL_FILE);
                if (IS_ERR(fw_entry)) {
+                       /* Caldata may not be present during first time calibration in
+                        * factory hence allow to boot without loading caldata in ftm mode
+                        */
+                       if (ath11k_ftm_mode) {
+                               ath11k_info(ab,
+                                           "Booting without cal data file in factory test mode\n");
+                               return 0;
+                       }
                        ret = PTR_ERR(fw_entry);
                        ath11k_warn(ab,
                                    "qmi failed to load CAL data file:%s\n",