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()
110 ieee80211_tx_skb(sdata, skb); in ieee80211_send_addba_request()
115 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_send_bar() local
116 struct ieee80211_local *local = sdata->local; in ieee80211_send_bar()
131 memcpy(bar->ta, sdata->vif.addr, ETH_ALEN); in ieee80211_send_bar()
140 ieee80211_tx_skb_tid(sdata, skb, tid); in ieee80211_send_bar()
164 ieee80211_stop_queue_agg(struct ieee80211_sub_if_data *sdata, int tid) in __acquires()
166 int queue = sdata->vif.hw_queue[ieee80211_ac_from_tid(tid)]; in __acquires()
170 if (atomic_inc_return(&sdata->local->agg_queue_stop[queue]) == 1) in __acquires()
172 &sdata->local->hw, queue, in __acquires()
179 ieee80211_wake_queue_agg(struct ieee80211_sub_if_data *sdata, int tid) in __releases()
181 int queue = sdata->vif.hw_queue[ieee80211_ac_from_tid(tid)]; in __releases()
183 if (atomic_dec_return(&sdata->local->agg_queue_stop[queue]) == 0) in __releases()
185 &sdata->local->hw, queue, in __releases()
225 drv_wake_tx_queue(sta->sdata->local, txqi); in ieee80211_agg_start_txq()
233 ieee80211_agg_splice_packets(struct ieee80211_sub_if_data *sdata, in __acquires()
236 struct ieee80211_local *local = sdata->local; in __acquires()
237 int queue = sdata->vif.hw_queue[ieee80211_ac_from_tid(tid)]; in __acquires()
240 ieee80211_stop_queue_agg(sdata, tid); in __acquires()
257 ieee80211_agg_splice_finish(struct ieee80211_sub_if_data *sdata, u16 tid) in __releases()
259 ieee80211_wake_queue_agg(sdata, tid); in __releases()
281 ieee80211_agg_splice_packets(sta->sdata, tid_tx, tid); in ieee80211_remove_tid_tx()
286 ieee80211_agg_splice_finish(sta->sdata, tid); in ieee80211_remove_tid_tx()
332 ret = drv_ampdu_action(local, sta->sdata, in ___ieee80211_stop_tx_ba_session()
351 ht_dbg(sta->sdata, "Tx BA session stop requested for %pM tid %u\n", in ___ieee80211_stop_tx_ba_session()
383 ret = drv_ampdu_action(local, sta->sdata, action, in ___ieee80211_stop_tx_ba_session()
429 ht_dbg(sta->sdata, in sta_addba_resp_timer_expired()
435 ht_dbg(sta->sdata, "addBA response timer expired on %pM tid %d\n", in sta_addba_resp_timer_expired()
446 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_tx_ba_session_handle_start() local
471 ret = drv_ampdu_action(local, sdata, IEEE80211_AMPDU_TX_START, in ieee80211_tx_ba_session_handle_start()
474 ht_dbg(sdata, in ieee80211_tx_ba_session_handle_start()
478 ieee80211_agg_splice_packets(sdata, tid_tx, tid); in ieee80211_tx_ba_session_handle_start()
480 ieee80211_agg_splice_finish(sdata, tid); in ieee80211_tx_ba_session_handle_start()
491 ht_dbg(sdata, "activated addBA response timer on %pM tid %d\n", in ieee80211_tx_ba_session_handle_start()
500 ieee80211_send_addba_request(sdata, sta->sta.addr, tid, in ieee80211_tx_ba_session_handle_start()
539 ht_dbg(sta->sdata, "tx session timer expired on %pM tid %d\n", in sta_tx_agg_session_timer_expired()
549 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_start_tx_ba_session() local
550 struct ieee80211_local *local = sdata->local; in ieee80211_start_tx_ba_session()
571 ht_dbg(sdata, "Open BA session requested for %pM tid %u\n", in ieee80211_start_tx_ba_session()
574 if (sdata->vif.type != NL80211_IFTYPE_STATION && in ieee80211_start_tx_ba_session()
575 sdata->vif.type != NL80211_IFTYPE_MESH_POINT && in ieee80211_start_tx_ba_session()
576 sdata->vif.type != NL80211_IFTYPE_AP_VLAN && in ieee80211_start_tx_ba_session()
577 sdata->vif.type != NL80211_IFTYPE_AP && in ieee80211_start_tx_ba_session()
578 sdata->vif.type != NL80211_IFTYPE_ADHOC) in ieee80211_start_tx_ba_session()
582 ht_dbg(sdata, in ieee80211_start_tx_ba_session()
600 if (sta->sdata->vif.type == NL80211_IFTYPE_ADHOC && in ieee80211_start_tx_ba_session()
602 ht_dbg(sdata, in ieee80211_start_tx_ba_session()
624 ht_dbg(sdata, in ieee80211_start_tx_ba_session()
634 ht_dbg(sdata, in ieee80211_start_tx_ba_session()
691 ht_dbg(sta->sdata, "Aggregation is on for %pM tid %d\n", in ieee80211_agg_tx_operational()
694 drv_ampdu_action(local, sta->sdata, in ieee80211_agg_tx_operational()
704 ieee80211_agg_splice_packets(sta->sdata, tid_tx, tid); in ieee80211_agg_tx_operational()
711 ieee80211_agg_splice_finish(sta->sdata, tid); in ieee80211_agg_tx_operational()
720 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_start_tx_ba_cb() local
721 struct ieee80211_local *local = sdata->local; in ieee80211_start_tx_ba_cb()
725 trace_api_start_tx_ba_cb(sdata, ra, tid); in ieee80211_start_tx_ba_cb()
728 ht_dbg(sdata, "Bad TID value: tid = %d (>= %d)\n", in ieee80211_start_tx_ba_cb()
734 sta = sta_info_get_bss(sdata, ra); in ieee80211_start_tx_ba_cb()
737 ht_dbg(sdata, "Could not find station: %pM\n", ra); in ieee80211_start_tx_ba_cb()
745 ht_dbg(sdata, "addBA was not requested!\n"); in ieee80211_start_tx_ba_cb()
763 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_start_tx_ba_cb_irqsafe() local
764 struct ieee80211_local *local = sdata->local; in ieee80211_start_tx_ba_cb_irqsafe()
776 skb_queue_tail(&sdata->skb_queue, skb); in ieee80211_start_tx_ba_cb_irqsafe()
777 ieee80211_queue_work(&local->hw, &sdata->work); in ieee80211_start_tx_ba_cb_irqsafe()
798 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_stop_tx_ba_session() local
799 struct ieee80211_local *local = sdata->local; in ieee80211_stop_tx_ba_session()
839 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_stop_tx_ba_cb() local
840 struct ieee80211_local *local = sdata->local; in ieee80211_stop_tx_ba_cb()
845 trace_api_stop_tx_ba_cb(sdata, ra, tid); in ieee80211_stop_tx_ba_cb()
848 ht_dbg(sdata, "Bad TID value: tid = %d (>= %d)\n", in ieee80211_stop_tx_ba_cb()
853 ht_dbg(sdata, "Stopping Tx BA session for %pM tid %d\n", ra, tid); in ieee80211_stop_tx_ba_cb()
857 sta = sta_info_get_bss(sdata, ra); in ieee80211_stop_tx_ba_cb()
859 ht_dbg(sdata, "Could not find station: %pM\n", ra); in ieee80211_stop_tx_ba_cb()
868 ht_dbg(sdata, in ieee80211_stop_tx_ba_cb()
883 ieee80211_send_delba(sdata, ra, tid, in ieee80211_stop_tx_ba_cb()
894 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); in ieee80211_stop_tx_ba_cb_irqsafe() local
895 struct ieee80211_local *local = sdata->local; in ieee80211_stop_tx_ba_cb_irqsafe()
907 skb_queue_tail(&sdata->skb_queue, skb); in ieee80211_stop_tx_ba_cb_irqsafe()
908 ieee80211_queue_work(&local->hw, &sdata->work); in ieee80211_stop_tx_ba_cb_irqsafe()
933 ht_dbg(sta->sdata, "wrong addBA response token, %pM tid %d\n", in ieee80211_process_addba_resp()
940 ht_dbg(sta->sdata, "switched off addBA timer for %pM tid %d\n", in ieee80211_process_addba_resp()
950 ht_dbg(sta->sdata, in ieee80211_process_addba_resp()