Lines Matching refs:sdata
64 static void ieee80211_send_addba_request(struct ieee80211_sub_if_data *sdata, in ieee80211_send_addba_request() argument
69 struct ieee80211_local *local = sdata->local; in ieee80211_send_addba_request()
82 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); in ieee80211_send_addba_request()
83 if (sdata->vif.type == NL80211_IFTYPE_AP || in ieee80211_send_addba_request()
84 sdata->vif.type == NL80211_IFTYPE_AP_VLAN || in ieee80211_send_addba_request()
85 sdata->vif.type == NL80211_IFTYPE_MESH_POINT) in ieee80211_send_addba_request()
86 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); in ieee80211_send_addba_request()
87 else if (sdata->vif.type == NL80211_IFTYPE_STATION) in ieee80211_send_addba_request()
88 memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN); in ieee80211_send_addba_request()
89 else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) in ieee80211_send_addba_request()
90 memcpy(mgmt->bssid, sdata->u.ibss.bssid, ETH_ALEN); in ieee80211_send_addba_request()
112 ieee80211_tx_skb(sdata, skb); in ieee80211_send_addba_request()
117 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_send_bar() local
118 struct ieee80211_local *local = sdata->local; in ieee80211_send_bar()
132 memcpy(bar->ta, sdata->vif.addr, ETH_ALEN); in ieee80211_send_bar()
141 ieee80211_tx_skb_tid(sdata, skb, tid); in ieee80211_send_bar()
165 ieee80211_stop_queue_agg(struct ieee80211_sub_if_data *sdata, int tid) in __acquires()
167 int queue = sdata->vif.hw_queue[ieee80211_ac_from_tid(tid)]; in __acquires()
171 if (atomic_inc_return(&sdata->local->agg_queue_stop[queue]) == 1) in __acquires()
173 &sdata->local->hw, queue, in __acquires()
180 ieee80211_wake_queue_agg(struct ieee80211_sub_if_data *sdata, int tid) in __releases()
182 int queue = sdata->vif.hw_queue[ieee80211_ac_from_tid(tid)]; in __releases()
184 if (atomic_dec_return(&sdata->local->agg_queue_stop[queue]) == 0) in __releases()
186 &sdata->local->hw, queue, in __releases()
196 struct ieee80211_sub_if_data *sdata; in ieee80211_agg_stop_txq() local
204 sdata = vif_to_sdata(txq->vif); in ieee80211_agg_stop_txq()
205 fq = &sdata->local->fq; in ieee80211_agg_stop_txq()
232 drv_wake_tx_queue(sta->sdata->local, txqi); in ieee80211_agg_start_txq()
242 ieee80211_agg_splice_packets(struct ieee80211_sub_if_data *sdata, in __acquires()
245 struct ieee80211_local *local = sdata->local; in __acquires()
246 int queue = sdata->vif.hw_queue[ieee80211_ac_from_tid(tid)]; in __acquires()
249 ieee80211_stop_queue_agg(sdata, tid); in __acquires()
266 ieee80211_agg_splice_finish(struct ieee80211_sub_if_data *sdata, u16 tid) in __releases()
268 ieee80211_wake_queue_agg(sdata, tid); in __releases()
290 ieee80211_agg_splice_packets(sta->sdata, tid_tx, tid); in ieee80211_remove_tid_tx()
295 ieee80211_agg_splice_finish(sta->sdata, tid); in ieee80211_remove_tid_tx()
354 ret = drv_ampdu_action(local, sta->sdata, ¶ms); in ___ieee80211_stop_tx_ba_session()
371 ht_dbg(sta->sdata, "Tx BA session stop requested for %pM tid %u\n", in ___ieee80211_stop_tx_ba_session()
404 ret = drv_ampdu_action(local, sta->sdata, ¶ms); in ___ieee80211_stop_tx_ba_session()
440 ht_dbg(sta->sdata, in sta_addba_resp_timer_expired()
446 ht_dbg(sta->sdata, "addBA response timer expired on %pM tid %d\n", in sta_addba_resp_timer_expired()
456 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_tx_ba_session_handle_start() local
488 ret = drv_ampdu_action(local, sdata, ¶ms); in ieee80211_tx_ba_session_handle_start()
490 ht_dbg(sdata, in ieee80211_tx_ba_session_handle_start()
494 ieee80211_agg_splice_packets(sdata, tid_tx, tid); in ieee80211_tx_ba_session_handle_start()
496 ieee80211_agg_splice_finish(sdata, tid); in ieee80211_tx_ba_session_handle_start()
507 ht_dbg(sdata, "activated addBA response timer on %pM tid %d\n", in ieee80211_tx_ba_session_handle_start()
528 ieee80211_send_addba_request(sdata, sta->sta.addr, tid, in ieee80211_tx_ba_session_handle_start()
554 ht_dbg(sta->sdata, "tx session timer expired on %pM tid %d\n", in sta_tx_agg_session_timer_expired()
564 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_start_tx_ba_session() local
565 struct ieee80211_local *local = sdata->local; in ieee80211_start_tx_ba_session()
589 ht_dbg(sdata, "Open BA session requested for %pM tid %u\n", in ieee80211_start_tx_ba_session()
592 if (sdata->vif.type != NL80211_IFTYPE_STATION && in ieee80211_start_tx_ba_session()
593 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && in ieee80211_start_tx_ba_session()
594 sdata->vif.type != NL80211_IFTYPE_AP_VLAN && in ieee80211_start_tx_ba_session()
595 sdata->vif.type != NL80211_IFTYPE_AP && in ieee80211_start_tx_ba_session()
596 sdata->vif.type != NL80211_IFTYPE_ADHOC) in ieee80211_start_tx_ba_session()
600 ht_dbg(sdata, in ieee80211_start_tx_ba_session()
618 if (sta->sdata->vif.type == NL80211_IFTYPE_ADHOC && in ieee80211_start_tx_ba_session()
620 ht_dbg(sdata, in ieee80211_start_tx_ba_session()
642 ht_dbg(sdata, in ieee80211_start_tx_ba_session()
652 ht_dbg(sdata, in ieee80211_start_tx_ba_session()
717 ht_dbg(sta->sdata, "Aggregation is on for %pM tid %d\n", in ieee80211_agg_tx_operational()
720 drv_ampdu_action(local, sta->sdata, ¶ms); in ieee80211_agg_tx_operational()
728 ieee80211_agg_splice_packets(sta->sdata, tid_tx, tid); in ieee80211_agg_tx_operational()
735 ieee80211_agg_splice_finish(sta->sdata, tid); in ieee80211_agg_tx_operational()
745 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_start_tx_ba_cb() local
746 struct ieee80211_local *local = sdata->local; in ieee80211_start_tx_ba_cb()
756 ieee80211_lookup_tid_tx(struct ieee80211_sub_if_data *sdata, in ieee80211_lookup_tid_tx() argument
762 ht_dbg(sdata, "Bad TID value: tid = %d (>= %d)\n", in ieee80211_lookup_tid_tx()
767 *sta = sta_info_get_bss(sdata, ra); in ieee80211_lookup_tid_tx()
769 ht_dbg(sdata, "Could not find station: %pM\n", ra); in ieee80211_lookup_tid_tx()
776 ht_dbg(sdata, "addBA was not requested!\n"); in ieee80211_lookup_tid_tx()
784 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_start_tx_ba_cb_irqsafe() local
785 struct ieee80211_local *local = sdata->local; in ieee80211_start_tx_ba_cb_irqsafe()
789 trace_api_start_tx_ba_cb(sdata, ra, tid); in ieee80211_start_tx_ba_cb_irqsafe()
792 tid_tx = ieee80211_lookup_tid_tx(sdata, ra, tid, &sta); in ieee80211_start_tx_ba_cb_irqsafe()
820 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_stop_tx_ba_session() local
821 struct ieee80211_local *local = sdata->local; in ieee80211_stop_tx_ba_session()
862 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_stop_tx_ba_cb() local
865 ht_dbg(sdata, "Stopping Tx BA session for %pM tid %d\n", in ieee80211_stop_tx_ba_cb()
871 ht_dbg(sdata, in ieee80211_stop_tx_ba_cb()
886 ieee80211_send_delba(sdata, sta->sta.addr, tid, in ieee80211_stop_tx_ba_cb()
893 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_stop_tx_ba_cb_irqsafe() local
894 struct ieee80211_local *local = sdata->local; in ieee80211_stop_tx_ba_cb_irqsafe()
898 trace_api_stop_tx_ba_cb(sdata, ra, tid); in ieee80211_stop_tx_ba_cb_irqsafe()
901 tid_tx = ieee80211_lookup_tid_tx(sdata, ra, tid, &sta); in ieee80211_stop_tx_ba_cb_irqsafe()
940 ht_dbg(sta->sdata, "wrong addBA response token, %pM tid %d\n", in ieee80211_process_addba_resp()
947 ht_dbg(sta->sdata, "switched off addBA timer for %pM tid %d\n", in ieee80211_process_addba_resp()
957 ht_dbg(sta->sdata, in ieee80211_process_addba_resp()