Commit d42fcaec authored by Johannes Berg's avatar Johannes Berg

wifi: mac80211: add ieee80211_tdls_sta_link_id()

We've open-coded this twice and will need it again,
add ieee80211_tdls_sta_link_id() to get the one link
ID for a TDLS STA.
Reviewed-by: default avatarMiriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20240612143707.9f8141ae1725.I343822bbba0ae08dedb2f54a0ce87f2ae5ebeb2b@changeidSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent dd7b1bdb
......@@ -727,6 +727,12 @@ struct sta_info {
struct ieee80211_sta sta;
};
static inline int ieee80211_tdls_sta_link_id(struct sta_info *sta)
{
/* TDLS STA can only have a single link */
return sta->sta.valid_links ? __ffs(sta->sta.valid_links) : 0;
}
static inline enum nl80211_plink_state sta_plink_state(struct sta_info *sta)
{
#ifdef CONFIG_MAC80211_MESH
......
......@@ -2774,8 +2774,7 @@ static struct sk_buff *ieee80211_build_hdr(struct ieee80211_sub_if_data *sdata,
if (tdls_peer) {
/* For TDLS only one link can be valid with peer STA */
int tdls_link_id = sta->sta.valid_links ?
__ffs(sta->sta.valid_links) : 0;
int tdls_link_id = ieee80211_tdls_sta_link_id(sta);
struct ieee80211_link_data *link;
/* DA SA BSSID */
......@@ -3101,8 +3100,7 @@ void ieee80211_check_fast_xmit(struct sta_info *sta)
case NL80211_IFTYPE_STATION:
if (test_sta_flag(sta, WLAN_STA_TDLS_PEER)) {
/* For TDLS only one link can be valid with peer STA */
int tdls_link_id = sta->sta.valid_links ?
__ffs(sta->sta.valid_links) : 0;
int tdls_link_id = ieee80211_tdls_sta_link_id(sta);
struct ieee80211_link_data *link;
/* DA SA BSSID */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment