ath10k: fix low TX rates when IBSS and HT
authorJanusz Dziedzic <janusz.dziedzic@tieto.com>
Wed, 17 Dec 2014 10:29:54 +0000 (12:29 +0200)
committerKalle Valo <kvalo@qca.qualcomm.com>
Tue, 23 Dec 2014 15:22:30 +0000 (17:22 +0200)
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>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath10k/mac.c

index 31354dbebd02576e1c092fc3f9f10b9986a3fc94..719e599dd8e07c9e33e76abfecb0f3990364409e 100644 (file)
@@ -1468,9 +1468,16 @@ static void ath10k_peer_assoc_h_qos(struct ath10k *ar,
                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 bool ath10k_mac_sta_has_11g_rates(struct ieee80211_sta *sta)