ath10k: fix tx rate selection for ad-hoc mode with HT
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43790
This commit is contained in:
parent
0f0460afda
commit
beb4318bc3
2 changed files with 56 additions and 0 deletions
|
@ -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,
|
|
@ -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);
|
Loading…
Reference in a new issue