Lines Matching refs:sta
141 struct sta_info *sta) in ieee80211_ht_cap_ie_to_sta_ht_cap() argument
241 sta->sta.max_amsdu_len = IEEE80211_MAX_MPDU_LEN_HT_7935; in ieee80211_ht_cap_ie_to_sta_ht_cap()
243 sta->sta.max_amsdu_len = IEEE80211_MAX_MPDU_LEN_HT_3839; in ieee80211_ht_cap_ie_to_sta_ht_cap()
246 changed = memcmp(&sta->sta.ht_cap, &ht_cap, sizeof(ht_cap)); in ieee80211_ht_cap_ie_to_sta_ht_cap()
248 memcpy(&sta->sta.ht_cap, &ht_cap, sizeof(ht_cap)); in ieee80211_ht_cap_ie_to_sta_ht_cap()
267 sta->sta.bandwidth = bw; in ieee80211_ht_cap_ie_to_sta_ht_cap()
269 sta->cur_max_bandwidth = in ieee80211_ht_cap_ie_to_sta_ht_cap()
273 if (sta->sdata->vif.type == NL80211_IFTYPE_AP || in ieee80211_ht_cap_ie_to_sta_ht_cap()
274 sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { in ieee80211_ht_cap_ie_to_sta_ht_cap()
291 if (smps_mode != sta->sta.smps_mode) in ieee80211_ht_cap_ie_to_sta_ht_cap()
293 sta->sta.smps_mode = smps_mode; in ieee80211_ht_cap_ie_to_sta_ht_cap()
295 sta->sta.smps_mode = IEEE80211_SMPS_OFF; in ieee80211_ht_cap_ie_to_sta_ht_cap()
300 void ieee80211_sta_tear_down_BA_sessions(struct sta_info *sta, in ieee80211_sta_tear_down_BA_sessions() argument
305 mutex_lock(&sta->ampdu_mlme.mtx); in ieee80211_sta_tear_down_BA_sessions()
307 ___ieee80211_stop_rx_ba_session(sta, i, WLAN_BACK_RECIPIENT, in ieee80211_sta_tear_down_BA_sessions()
313 ___ieee80211_stop_tx_ba_session(sta, i, reason); in ieee80211_sta_tear_down_BA_sessions()
314 mutex_unlock(&sta->ampdu_mlme.mtx); in ieee80211_sta_tear_down_BA_sessions()
322 cancel_work_sync(&sta->ampdu_mlme.work); in ieee80211_sta_tear_down_BA_sessions()
324 mutex_lock(&sta->ampdu_mlme.mtx); in ieee80211_sta_tear_down_BA_sessions()
327 rcu_dereference_protected_tid_tx(sta, i); in ieee80211_sta_tear_down_BA_sessions()
333 ieee80211_stop_tx_ba_cb(sta, i, tid_tx); in ieee80211_sta_tear_down_BA_sessions()
335 mutex_unlock(&sta->ampdu_mlme.mtx); in ieee80211_sta_tear_down_BA_sessions()
341 struct sta_info *sta = in ieee80211_ba_session_work() local
348 blocked = test_sta_flag(sta, WLAN_STA_BLOCK_BA); in ieee80211_ba_session_work()
350 mutex_lock(&sta->ampdu_mlme.mtx); in ieee80211_ba_session_work()
352 if (test_and_clear_bit(tid, sta->ampdu_mlme.tid_rx_timer_expired)) in ieee80211_ba_session_work()
354 sta, tid, WLAN_BACK_RECIPIENT, in ieee80211_ba_session_work()
358 sta->ampdu_mlme.tid_rx_stop_requested)) in ieee80211_ba_session_work()
360 sta, tid, WLAN_BACK_RECIPIENT, in ieee80211_ba_session_work()
365 sta->ampdu_mlme.tid_rx_manage_offl)) in ieee80211_ba_session_work()
366 ___ieee80211_start_rx_ba_session(sta, 0, 0, 0, 1, tid, in ieee80211_ba_session_work()
371 sta->ampdu_mlme.tid_rx_manage_offl)) in ieee80211_ba_session_work()
373 sta, tid, WLAN_BACK_RECIPIENT, in ieee80211_ba_session_work()
376 spin_lock_bh(&sta->lock); in ieee80211_ba_session_work()
378 tid_tx = sta->ampdu_mlme.tid_start_tx[tid]; in ieee80211_ba_session_work()
385 sta->ampdu_mlme.tid_start_tx[tid] = NULL; in ieee80211_ba_session_work()
387 if (sta->ampdu_mlme.tid_tx[tid]) in ieee80211_ba_session_work()
390 ieee80211_assign_tid_tx(sta, tid, tid_tx); in ieee80211_ba_session_work()
391 spin_unlock_bh(&sta->lock); in ieee80211_ba_session_work()
393 ieee80211_tx_ba_session_handle_start(sta, tid); in ieee80211_ba_session_work()
396 spin_unlock_bh(&sta->lock); in ieee80211_ba_session_work()
398 tid_tx = rcu_dereference_protected_tid_tx(sta, tid); in ieee80211_ba_session_work()
404 ieee80211_start_tx_ba_cb(sta, tid, tid_tx); in ieee80211_ba_session_work()
406 ___ieee80211_stop_tx_ba_session(sta, tid, in ieee80211_ba_session_work()
409 ieee80211_stop_tx_ba_cb(sta, tid, tid_tx); in ieee80211_ba_session_work()
411 mutex_unlock(&sta->ampdu_mlme.mtx); in ieee80211_ba_session_work()
457 struct sta_info *sta, in ieee80211_process_delba() argument
473 __ieee80211_stop_rx_ba_session(sta, tid, WLAN_BACK_INITIATOR, 0, in ieee80211_process_delba()
476 __ieee80211_stop_tx_ba_session(sta, tid, AGG_STOP_PEER_REQUEST); in ieee80211_process_delba()