Lines Matching refs:sdata
62 static void ieee80211_send_addba_request(struct ieee80211_sub_if_data *sdata, in ieee80211_send_addba_request() argument
67 struct ieee80211_local *local = sdata->local; in ieee80211_send_addba_request()
81 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN); in ieee80211_send_addba_request()
82 if (sdata->vif.type == NL80211_IFTYPE_AP || in ieee80211_send_addba_request()
83 sdata->vif.type == NL80211_IFTYPE_AP_VLAN || in ieee80211_send_addba_request()
84 sdata->vif.type == NL80211_IFTYPE_MESH_POINT) in ieee80211_send_addba_request()
85 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN); in ieee80211_send_addba_request()
86 else if (sdata->vif.type == NL80211_IFTYPE_STATION) in ieee80211_send_addba_request()
87 memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN); in ieee80211_send_addba_request()
88 else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) in ieee80211_send_addba_request()
89 memcpy(mgmt->bssid, sdata->u.ibss.bssid, ETH_ALEN); in ieee80211_send_addba_request()
111 ieee80211_tx_skb(sdata, skb); in ieee80211_send_addba_request()
116 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_send_bar() local
117 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()
226 drv_wake_tx_queue(sta->sdata->local, txqi); in ieee80211_agg_start_txq()
234 ieee80211_agg_splice_packets(struct ieee80211_sub_if_data *sdata, in __acquires()
237 struct ieee80211_local *local = sdata->local; in __acquires()
238 int queue = sdata->vif.hw_queue[ieee80211_ac_from_tid(tid)]; in __acquires()
241 ieee80211_stop_queue_agg(sdata, tid); in __acquires()
258 ieee80211_agg_splice_finish(struct ieee80211_sub_if_data *sdata, u16 tid) in __releases()
260 ieee80211_wake_queue_agg(sdata, tid); in __releases()
282 ieee80211_agg_splice_packets(sta->sdata, tid_tx, tid); in ieee80211_remove_tid_tx()
287 ieee80211_agg_splice_finish(sta->sdata, tid); in ieee80211_remove_tid_tx()
333 ret = drv_ampdu_action(local, sta->sdata, in ___ieee80211_stop_tx_ba_session()
352 ht_dbg(sta->sdata, "Tx BA session stop requested for %pM tid %u\n", in ___ieee80211_stop_tx_ba_session()
384 ret = drv_ampdu_action(local, sta->sdata, action, in ___ieee80211_stop_tx_ba_session()
430 ht_dbg(sta->sdata, in sta_addba_resp_timer_expired()
436 ht_dbg(sta->sdata, "addBA response timer expired on %pM tid %d\n", in sta_addba_resp_timer_expired()
447 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_tx_ba_session_handle_start() local
472 ret = drv_ampdu_action(local, sdata, IEEE80211_AMPDU_TX_START, in ieee80211_tx_ba_session_handle_start()
475 ht_dbg(sdata, in ieee80211_tx_ba_session_handle_start()
479 ieee80211_agg_splice_packets(sdata, tid_tx, tid); in ieee80211_tx_ba_session_handle_start()
481 ieee80211_agg_splice_finish(sdata, tid); in ieee80211_tx_ba_session_handle_start()
492 ht_dbg(sdata, "activated addBA response timer on %pM tid %d\n", in ieee80211_tx_ba_session_handle_start()
501 ieee80211_send_addba_request(sdata, sta->sta.addr, tid, in ieee80211_tx_ba_session_handle_start()
540 ht_dbg(sta->sdata, "tx session timer expired on %pM tid %d\n", in sta_tx_agg_session_timer_expired()
550 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_start_tx_ba_session() local
551 struct ieee80211_local *local = sdata->local; in ieee80211_start_tx_ba_session()
572 ht_dbg(sdata, "Open BA session requested for %pM tid %u\n", in ieee80211_start_tx_ba_session()
575 if (sdata->vif.type != NL80211_IFTYPE_STATION && in ieee80211_start_tx_ba_session()
576 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && in ieee80211_start_tx_ba_session()
577 sdata->vif.type != NL80211_IFTYPE_AP_VLAN && in ieee80211_start_tx_ba_session()
578 sdata->vif.type != NL80211_IFTYPE_AP && in ieee80211_start_tx_ba_session()
579 sdata->vif.type != NL80211_IFTYPE_ADHOC) in ieee80211_start_tx_ba_session()
583 ht_dbg(sdata, in ieee80211_start_tx_ba_session()
601 if (sta->sdata->vif.type == NL80211_IFTYPE_ADHOC && in ieee80211_start_tx_ba_session()
603 ht_dbg(sdata, in ieee80211_start_tx_ba_session()
625 ht_dbg(sdata, in ieee80211_start_tx_ba_session()
635 ht_dbg(sdata, in ieee80211_start_tx_ba_session()
692 ht_dbg(sta->sdata, "Aggregation is on for %pM tid %d\n", in ieee80211_agg_tx_operational()
695 drv_ampdu_action(local, sta->sdata, in ieee80211_agg_tx_operational()
706 ieee80211_agg_splice_packets(sta->sdata, tid_tx, tid); in ieee80211_agg_tx_operational()
713 ieee80211_agg_splice_finish(sta->sdata, tid); in ieee80211_agg_tx_operational()
722 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_start_tx_ba_cb() local
723 struct ieee80211_local *local = sdata->local; in ieee80211_start_tx_ba_cb()
727 trace_api_start_tx_ba_cb(sdata, ra, tid); in ieee80211_start_tx_ba_cb()
730 ht_dbg(sdata, "Bad TID value: tid = %d (>= %d)\n", in ieee80211_start_tx_ba_cb()
736 sta = sta_info_get_bss(sdata, ra); in ieee80211_start_tx_ba_cb()
739 ht_dbg(sdata, "Could not find station: %pM\n", ra); in ieee80211_start_tx_ba_cb()
747 ht_dbg(sdata, "addBA was not requested!\n"); in ieee80211_start_tx_ba_cb()
765 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_start_tx_ba_cb_irqsafe() local
766 struct ieee80211_local *local = sdata->local; in ieee80211_start_tx_ba_cb_irqsafe()
778 skb_queue_tail(&sdata->skb_queue, skb); in ieee80211_start_tx_ba_cb_irqsafe()
779 ieee80211_queue_work(&local->hw, &sdata->work); in ieee80211_start_tx_ba_cb_irqsafe()
800 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_stop_tx_ba_session() local
801 struct ieee80211_local *local = sdata->local; in ieee80211_stop_tx_ba_session()
841 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_stop_tx_ba_cb() local
842 struct ieee80211_local *local = sdata->local; in ieee80211_stop_tx_ba_cb()
847 trace_api_stop_tx_ba_cb(sdata, ra, tid); in ieee80211_stop_tx_ba_cb()
850 ht_dbg(sdata, "Bad TID value: tid = %d (>= %d)\n", in ieee80211_stop_tx_ba_cb()
855 ht_dbg(sdata, "Stopping Tx BA session for %pM tid %d\n", ra, tid); in ieee80211_stop_tx_ba_cb()
859 sta = sta_info_get_bss(sdata, ra); in ieee80211_stop_tx_ba_cb()
861 ht_dbg(sdata, "Could not find station: %pM\n", ra); in ieee80211_stop_tx_ba_cb()
870 ht_dbg(sdata, in ieee80211_stop_tx_ba_cb()
885 ieee80211_send_delba(sdata, ra, tid, in ieee80211_stop_tx_ba_cb()
896 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_stop_tx_ba_cb_irqsafe() local
897 struct ieee80211_local *local = sdata->local; in ieee80211_stop_tx_ba_cb_irqsafe()
909 skb_queue_tail(&sdata->skb_queue, skb); in ieee80211_stop_tx_ba_cb_irqsafe()
910 ieee80211_queue_work(&local->hw, &sdata->work); in ieee80211_stop_tx_ba_cb_irqsafe()
938 ht_dbg(sta->sdata, "wrong addBA response token, %pM tid %d\n", in ieee80211_process_addba_resp()
945 ht_dbg(sta->sdata, "switched off addBA timer for %pM tid %d\n", in ieee80211_process_addba_resp()
955 ht_dbg(sta->sdata, in ieee80211_process_addba_resp()