mac80211: enable TDLS peer buffer STA feature
Allow drivers to set the buffer station extended capability for TDLS links, with a new hardware flag indicating this. Signed-off-by: Yingying Tang <yintang@qti.qualcomm.com> [change commit log/documentation wording] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:

committed by
Johannes Berg

parent
d559e303b1
commit
e2fb1b8392
@@ -211,6 +211,7 @@ static const char *hw_flag_names[] = {
|
||||
FLAG(TX_FRAG_LIST),
|
||||
FLAG(REPORTS_LOW_ACK),
|
||||
FLAG(SUPPORTS_TX_FRAG),
|
||||
FLAG(SUPPORTS_TDLS_BUFFER_STA),
|
||||
#undef FLAG
|
||||
};
|
||||
|
||||
|
@@ -47,6 +47,8 @@ static void ieee80211_tdls_add_ext_capab(struct ieee80211_sub_if_data *sdata,
|
||||
NL80211_FEATURE_TDLS_CHANNEL_SWITCH;
|
||||
bool wider_band = ieee80211_hw_check(&local->hw, TDLS_WIDER_BW) &&
|
||||
!ifmgd->tdls_wider_bw_prohibited;
|
||||
bool buffer_sta = ieee80211_hw_check(&local->hw,
|
||||
SUPPORTS_TDLS_BUFFER_STA);
|
||||
struct ieee80211_supported_band *sband = ieee80211_get_sband(sdata);
|
||||
bool vht = sband && sband->vht_cap.vht_supported;
|
||||
u8 *pos = skb_put(skb, 10);
|
||||
@@ -56,7 +58,8 @@ static void ieee80211_tdls_add_ext_capab(struct ieee80211_sub_if_data *sdata,
|
||||
*pos++ = 0x0;
|
||||
*pos++ = 0x0;
|
||||
*pos++ = 0x0;
|
||||
*pos++ = chan_switch ? WLAN_EXT_CAPA4_TDLS_CHAN_SWITCH : 0;
|
||||
*pos++ = (chan_switch ? WLAN_EXT_CAPA4_TDLS_CHAN_SWITCH : 0) |
|
||||
(buffer_sta ? WLAN_EXT_CAPA4_TDLS_BUFFER_STA : 0);
|
||||
*pos++ = WLAN_EXT_CAPA5_TDLS_ENABLED;
|
||||
*pos++ = 0;
|
||||
*pos++ = 0;
|
||||
|
Reference in New Issue
Block a user