aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/932-ath10k_bump_up_fw_api_to_5.patch
diff options
context:
space:
mode:
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.patch43
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 */