diff options
author | Felix Fietkau <nbd@openwrt.org> | 2014-12-27 13:37:32 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2014-12-27 13:37:32 +0000 |
commit | 4d9d4093e12c62beb746244830ec9c50d733c7ee (patch) | |
tree | f4e5cdf6b0d182d5255a18db8e88801aa64087a7 | |
parent | d1902b686d4645458f09670bd7d7608355cea924 (diff) | |
download | upstream-4d9d4093e12c62beb746244830ec9c50d733c7ee.tar.gz upstream-4d9d4093e12c62beb746244830ec9c50d733c7ee.tar.bz2 upstream-4d9d4093e12c62beb746244830ec9c50d733c7ee.zip |
ath10k: fix tx rate selection for ad-hoc mode with HT
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43790 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | package/kernel/mac80211/patches/327-ath10k-fix-low-TX-rates-when-IBSS-and-HT.patch | 30 | ||||
-rw-r--r-- | package/kernel/mac80211/patches/328-ath10k-send-re-assoc-peer-command-when-NSS-changed.patch | 26 |
2 files changed, 56 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/327-ath10k-fix-low-TX-rates-when-IBSS-and-HT.patch b/package/kernel/mac80211/patches/327-ath10k-fix-low-TX-rates-when-IBSS-and-HT.patch new file mode 100644 index 0000000000..09f1e25fa0 --- /dev/null +++ b/package/kernel/mac80211/patches/327-ath10k-fix-low-TX-rates-when-IBSS-and-HT.patch @@ -0,0 +1,30 @@ +From: Janusz Dziedzic <janusz.dziedzic@tieto.com> +Date: Tue, 16 Dec 2014 09:52:59 +0100 +Subject: [PATCH] ath10k: fix low TX rates when IBSS and HT + +This fix TX problem when IBSS used in HT mode. +Before we used 6Mbps all the time for TX direction. + +Reported-by: Yeoh Chun-Yeow <yeohchunyeow@gmail.com> +Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> +--- + +--- a/drivers/net/wireless/ath/ath10k/mac.c ++++ b/drivers/net/wireless/ath/ath10k/mac.c +@@ -1375,9 +1375,16 @@ static void ath10k_peer_assoc_h_qos(stru + if (vif->bss_conf.qos) + arg->peer_flags |= WMI_PEER_QOS; + break; ++ case WMI_VDEV_TYPE_IBSS: ++ if (sta->wme) ++ arg->peer_flags |= WMI_PEER_QOS; ++ break; + default: + break; + } ++ ++ ath10k_dbg(ar, ATH10K_DBG_MAC, "mac peer %pM qos %d\n", ++ sta->addr, !!(arg->peer_flags & WMI_PEER_QOS)); + } + + static void ath10k_peer_assoc_h_phymode(struct ath10k *ar, diff --git a/package/kernel/mac80211/patches/328-ath10k-send-re-assoc-peer-command-when-NSS-changed.patch b/package/kernel/mac80211/patches/328-ath10k-send-re-assoc-peer-command-when-NSS-changed.patch new file mode 100644 index 0000000000..56290cd58f --- /dev/null +++ b/package/kernel/mac80211/patches/328-ath10k-send-re-assoc-peer-command-when-NSS-changed.patch @@ -0,0 +1,26 @@ +From: Janusz Dziedzic <janusz.dziedzic@tieto.com> +Date: Tue, 16 Dec 2014 09:53:00 +0100 +Subject: [PATCH] ath10k: send (re)assoc peer command when NSS changed + +Assoc peer command contain information about NSS. +When we will get IEEE80211_RC_NSS_CHANGED we should +also send (re) assoc peer command to be sure firmware +will know about it and RC will work correctly. + +Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> +--- + +--- a/drivers/net/wireless/ath/ath10k/mac.c ++++ b/drivers/net/wireless/ath/ath10k/mac.c +@@ -3497,8 +3497,9 @@ static void ath10k_sta_rc_update_wk(stru + sta->addr, smps, err); + } + +- if (changed & IEEE80211_RC_SUPP_RATES_CHANGED) { +- ath10k_dbg(ar, ATH10K_DBG_MAC, "mac update sta %pM supp rates\n", ++ if (changed & IEEE80211_RC_SUPP_RATES_CHANGED || ++ changed & IEEE80211_RC_NSS_CHANGED) { ++ ath10k_dbg(ar, ATH10K_DBG_MAC, "mac update sta %pM supp rates/nss\n", + sta->addr); + + err = ath10k_station_assoc(ar, arvif->vif, sta, true); |