OSDN Git Service

ath10k: change firmware file name for UTF mode of SDIO/USB
authorWen Gong <wgong@codeaurora.org>
Wed, 15 May 2019 03:30:47 +0000 (11:30 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 25 Jun 2019 12:53:41 +0000 (15:53 +0300)
Firmware name for UTF mode of SDIO has changed from utf-2.bin to
utf-sdio-2.bin, so it need to change in ath10k, otherwise it will
fail for UTF mode.

After change the name in ath10k, it will success for UTF mode of
SDIO/USB.

Tested with QCA6174 SDIO with firmware
WLAN.RMH.4.4.1-00007-QCARMSWP-1.

Signed-off-by: Wen Gong <wgong@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath10k/hw.h
drivers/net/wireless/ath/ath10k/testmode.c

index d2d4af9..cdc9b4a 100644 (file)
@@ -152,6 +152,8 @@ enum qca9377_chip_id_rev {
 #define ATH10K_FW_UTF_FILE             "utf.bin"
 #define ATH10K_FW_UTF_API2_FILE                "utf-2.bin"
 
+#define ATH10K_FW_UTF_FILE_BASE                "utf"
+
 /* includes also the null byte */
 #define ATH10K_FIRMWARE_MAGIC               "QCA-ATH10K"
 #define ATH10K_BOARD_MAGIC                  "QCA-ATH10K-BOARD"
index a29cfb9..1bffe3f 100644 (file)
@@ -174,8 +174,23 @@ static int ath10k_tm_fetch_firmware(struct ath10k *ar)
 {
        struct ath10k_fw_components *utf_mode_fw;
        int ret;
+       char fw_name[100];
+       int fw_api2 = 2;
+
+       switch (ar->hif.bus) {
+       case ATH10K_BUS_SDIO:
+       case ATH10K_BUS_USB:
+               scnprintf(fw_name, sizeof(fw_name), "%s-%s-%d.bin",
+                         ATH10K_FW_UTF_FILE_BASE, ath10k_bus_str(ar->hif.bus),
+                         fw_api2);
+               break;
+       default:
+               scnprintf(fw_name, sizeof(fw_name), "%s-%d.bin",
+                         ATH10K_FW_UTF_FILE_BASE, fw_api2);
+               break;
+       }
 
-       ret = ath10k_core_fetch_firmware_api_n(ar, ATH10K_FW_UTF_API2_FILE,
+       ret = ath10k_core_fetch_firmware_api_n(ar, fw_name,
                                               &ar->testmode.utf_mode_fw.fw_file);
        if (ret == 0) {
                ath10k_dbg(ar, ATH10K_DBG_TESTMODE, "testmode using fw utf api 2");