diff options
Diffstat (limited to 'package/kernel/mac80211/patches/932-ath10k_bump_up_fw_api_to_5.patch')
-rw-r--r-- | package/kernel/mac80211/patches/932-ath10k_bump_up_fw_api_to_5.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/932-ath10k_bump_up_fw_api_to_5.patch b/package/kernel/mac80211/patches/932-ath10k_bump_up_fw_api_to_5.patch new file mode 100644 index 0000000000..bb61077839 --- /dev/null +++ b/package/kernel/mac80211/patches/932-ath10k_bump_up_fw_api_to_5.patch @@ -0,0 +1,43 @@ +diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/ath/ath10k/core.c +index f3788e2..1c74585d 100644 +--- a/drivers/net/wireless/ath/ath10k/core.c ++++ b/drivers/net/wireless/ath/ath10k/core.c +@@ -741,6 +741,13 @@ static int ath10k_core_fetch_firmware_files(struct ath10k *ar) + /* calibration file is optional, don't check for any errors */ + ath10k_fetch_cal_file(ar); + ++ ar->fw_api = 5; ++ ath10k_dbg(ar, ATH10K_DBG_BOOT, "trying fw api %d\n", ar->fw_api); ++ ++ ret = ath10k_core_fetch_firmware_api_n(ar, ATH10K_FW_API5_FILE); ++ if (ret == 0) ++ goto success; ++ + ar->fw_api = 4; + ath10k_dbg(ar, ATH10K_DBG_BOOT, "trying fw api %d\n", ar->fw_api); + +diff --git a/drivers/net/wireless/ath/ath10k/hw.h b/drivers/net/wireless/ath/ath10k/hw.h +index c236dd3..46e14d1 100644 +--- a/drivers/net/wireless/ath/ath10k/hw.h ++++ b/drivers/net/wireless/ath/ath10k/hw.h +@@ -78,6 +78,9 @@ enum qca6174_chip_id_rev { + /* added support for ATH10K_FW_IE_WMI_OP_VERSION */ + #define ATH10K_FW_API4_FILE "firmware-4.bin" + ++/* HTT id conflict fix for management frames over HTT */ ++#define ATH10K_FW_API5_FILE "firmware-5.bin" ++ + #define ATH10K_FW_UTF_FILE "utf.bin" + + /* includes also the null byte */ +diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c +index b4aacfa..262a84f 100644 +--- a/drivers/net/wireless/ath/ath10k/pci.c ++++ b/drivers/net/wireless/ath/ath10k/pci.c +@@ -2780,5 +2780,6 @@ MODULE_FIRMWARE(QCA988X_HW_2_0_FW_DIR "/" QCA988X_HW_2_0_FW_FILE); + MODULE_FIRMWARE(QCA988X_HW_2_0_FW_DIR "/" ATH10K_FW_API2_FILE); + MODULE_FIRMWARE(QCA988X_HW_2_0_FW_DIR "/" ATH10K_FW_API3_FILE); ++MODULE_FIRMWARE(QCA988X_HW_2_0_FW_DIR "/" ATH10K_FW_API5_FILE); + MODULE_FIRMWARE(QCA988X_HW_2_0_FW_DIR "/" QCA988X_HW_2_0_BOARD_DATA_FILE); + + /* QCA6174 2.1 firmware files */ |