5a1fa882948e5aee01c654f7a68e3642d80309fb
[librecmc/librecmc.git] /
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",