Message ID | 1508835074-3384-3-git-send-email-yintang@qti.qualcomm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
yintang@qti.qualcomm.com wrote: > From: Yingying Tang <yintang@qti.qualcomm.com> > > Enable TDLS peer buffer STA feature. > QCA6174 firmware(version: WLAN.RM.4.4) support TDLS peer buffer STA, > it reports this capability through wmi service map in wmi service ready > event. Set related parameter in TDLS WMI command to enable this feature. > > Signed-off-by: Yingying Tang <yintang@qti.qualcomm.com> Depends on: a9cd27b34d66 mac80211: enable TDLS peer buffer STA feature Currently in mac80211-next. 4 patches set to Awaiting Upstream. 10023753 [v7,2/5] ath10k: Enable TDLS peer buffer STA feature 10023743 [v7,3/5] ath10k: Enable TDLS peer inactivity detection 10023725 [v7,4/5] ath10k: Avoid to set WEP key for TDLS peer 10023737 [v7,5/5] ath10k: Fix TDLS peer TX data failure issue on encryped AP
yintang@qti.qualcomm.com wrote: > Enable TDLS peer buffer STA feature. > QCA6174 firmware(version: WLAN.RM.4.4) support TDLS peer buffer STA, > it reports this capability through wmi service map in wmi service ready > event. Set related parameter in TDLS WMI command to enable this feature. > > Signed-off-by: Yingying Tang <yintang@qti.qualcomm.com> > Signed-off-by: Kalle Valo <kvalo@codeaurora.org> 4 patches applied to ath-next branch of ath.git, thanks. 802ca335496e ath10k: enable TDLS peer buffer STA feature 4c9f8d114660 ath10k: enable TDLS peer inactivity detection c3816c9ee12c ath10k: avoid to set WEP key for TDLS peer 9cdd00575029 ath10k: fix TDLS peer TX data failure issue on encryped AP
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index 5683f1a..1672043 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -8204,6 +8204,9 @@ int ath10k_mac_register(struct ath10k *ar) ieee80211_hw_set(ar->hw, TDLS_WIDER_BW); } + if (test_bit(WMI_SERVICE_TDLS_UAPSD_BUFFER_STA, ar->wmi.svc_map)) + ieee80211_hw_set(ar->hw, SUPPORTS_TDLS_BUFFER_STA); + ar->hw->wiphy->flags |= WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL; ar->hw->wiphy->flags |= WIPHY_FLAG_HAS_CHANNEL_SWITCH; ar->hw->wiphy->max_remain_on_channel_duration = 5000; diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.c b/drivers/net/wireless/ath/ath10k/wmi-tlv.c index 7616c1c..f60b46e 100644 --- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c +++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c @@ -2747,6 +2747,9 @@ static void *ath10k_wmi_tlv_put_wmm(void *ptr, */ u32 options = 0; + if (test_bit(WMI_SERVICE_TDLS_UAPSD_BUFFER_STA, ar->wmi.svc_map)) + options |= WMI_TLV_TDLS_BUFFER_STA_EN; + len = sizeof(*tlv) + sizeof(*cmd); skb = ath10k_wmi_alloc_skb(ar, len); if (!skb)