From 7dcccacb98a138e2d7fe8fe70302d30cae4a82ba Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Tue, 13 Dec 2016 12:52:01 +0100 Subject: [PATCH] ath10k: fix a bug on sending null-func frames Signed-off-by: Felix Fietkau --- ...ure-to-send-NULL-func-frame-for-10.4.patch | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 package/kernel/mac80211/patches/332-ath10k-Fix-failure-to-send-NULL-func-frame-for-10.4.patch diff --git a/package/kernel/mac80211/patches/332-ath10k-Fix-failure-to-send-NULL-func-frame-for-10.4.patch b/package/kernel/mac80211/patches/332-ath10k-Fix-failure-to-send-NULL-func-frame-for-10.4.patch new file mode 100644 index 0000000000..76e6ccab72 --- /dev/null +++ b/package/kernel/mac80211/patches/332-ath10k-Fix-failure-to-send-NULL-func-frame-for-10.4.patch @@ -0,0 +1,42 @@ +From: Mohammed Shafi Shajakhan +Date: Wed, 12 Oct 2016 12:59:02 +0530 +Subject: [PATCH] ath10k: Fix failure to send NULL func frame for 10.4 + +This partially reverts 'commit 2cdce425aa33 +("ath10k: Fix broken NULL func data frame status for 10.4")' +Unfortunately this breaks sending NULL func and the existing +issue of obtaining proper tx status for NULL function will be +fixed. Also update the comments for feature flag added to be +useless and not working + +Fixes: 2cdce425aa33 "ath10k: Fix broken NULL func data frame status for +10.4" +Signed-off-by: Mohammed Shafi Shajakhan +--- + +--- a/drivers/net/wireless/ath/ath10k/core.h ++++ b/drivers/net/wireless/ath/ath10k/core.h +@@ -556,10 +556,8 @@ enum ath10k_fw_features { + */ + ATH10K_FW_FEATURE_BTCOEX_PARAM = 14, + +- /* Older firmware with HTT delivers incorrect tx status for null func +- * frames to driver, but this fixed in 10.2 and 10.4 firmware versions. +- * Also this workaround results in reporting of incorrect null func +- * status for 10.4. This flag is used to skip the workaround. ++ /* Unused flag and proven to be not working, enable this if you want ++ * to experiment sending NULL func data frames in HTT TX + */ + ATH10K_FW_FEATURE_SKIP_NULL_FUNC_WAR = 15, + +--- a/drivers/net/wireless/ath/ath10k/mac.c ++++ b/drivers/net/wireless/ath/ath10k/mac.c +@@ -3274,8 +3274,6 @@ ath10k_mac_tx_h_get_txmode(struct ath10k + if (ar->htt.target_version_major < 3 && + (ieee80211_is_nullfunc(fc) || ieee80211_is_qos_nullfunc(fc)) && + !test_bit(ATH10K_FW_FEATURE_HAS_WMI_MGMT_TX, +- ar->running_fw->fw_file.fw_features) && +- !test_bit(ATH10K_FW_FEATURE_SKIP_NULL_FUNC_WAR, + ar->running_fw->fw_file.fw_features)) + return ATH10K_HW_TXRX_MGMT; +