Lines Matching refs:sta

719 	if (!rx->sta || sta_plink_state(rx->sta) != NL80211_PLINK_ESTAB) {  in ieee80211_rx_mesh_check()
985 struct sta_info *sta = rx->sta; in ieee80211_rx_reorder_ampdu() local
999 if (!sta) in ieee80211_rx_reorder_ampdu()
1006 tid_agg_rx = rcu_dereference(sta->ampdu_mlme.tid_rx[tid]); in ieee80211_rx_reorder_ampdu()
1072 if (rx->sta) { in ieee80211_rx_h_check_dup()
1074 rx->sta->last_seq_ctrl[rx->seqno_idx] == in ieee80211_rx_h_check_dup()
1078 rx->sta->num_duplicates++; in ieee80211_rx_h_check_dup()
1082 rx->sta->last_seq_ctrl[rx->seqno_idx] = hdr->seq_ctrl; in ieee80211_rx_h_check_dup()
1116 (!rx->sta || !test_sta_flag(rx->sta, WLAN_STA_ASSOC)))) { in ieee80211_rx_h_check()
1122 if (rx->sta && rx->sdata->vif.type == NL80211_IFTYPE_STATION && in ieee80211_rx_h_check()
1183 static void sta_ps_start(struct sta_info *sta) in sta_ps_start() argument
1185 struct ieee80211_sub_if_data *sdata = sta->sdata; in sta_ps_start()
1190 if (sta->sdata->vif.type == NL80211_IFTYPE_AP || in sta_ps_start()
1191 sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) in sta_ps_start()
1197 set_sta_flag(sta, WLAN_STA_PS_STA); in sta_ps_start()
1199 drv_sta_notify(local, sdata, STA_NOTIFY_SLEEP, &sta->sta); in sta_ps_start()
1201 sta->sta.addr, sta->sta.aid); in sta_ps_start()
1203 if (!sta->sta.txq[0]) in sta_ps_start()
1206 for (tid = 0; tid < ARRAY_SIZE(sta->sta.txq); tid++) { in sta_ps_start()
1207 struct txq_info *txqi = to_txq_info(sta->sta.txq[tid]); in sta_ps_start()
1210 set_bit(tid, &sta->txq_buffered_tids); in sta_ps_start()
1212 clear_bit(tid, &sta->txq_buffered_tids); in sta_ps_start()
1216 static void sta_ps_end(struct sta_info *sta) in sta_ps_end() argument
1218 ps_dbg(sta->sdata, "STA %pM aid %d exits power save mode\n", in sta_ps_end()
1219 sta->sta.addr, sta->sta.aid); in sta_ps_end()
1221 if (test_sta_flag(sta, WLAN_STA_PS_DRIVER)) { in sta_ps_end()
1228 clear_sta_flag(sta, WLAN_STA_PS_STA); in sta_ps_end()
1229 ps_dbg(sta->sdata, "STA %pM aid %d driver-ps-blocked\n", in sta_ps_end()
1230 sta->sta.addr, sta->sta.aid); in sta_ps_end()
1234 set_sta_flag(sta, WLAN_STA_PS_DELIVER); in sta_ps_end()
1235 clear_sta_flag(sta, WLAN_STA_PS_STA); in sta_ps_end()
1236 ieee80211_sta_ps_deliver_wakeup(sta); in sta_ps_end()
1239 int ieee80211_sta_ps_transition(struct ieee80211_sta *sta, bool start) in ieee80211_sta_ps_transition() argument
1241 struct sta_info *sta_inf = container_of(sta, struct sta_info, sta); in ieee80211_sta_ps_transition()
1268 if (!rx->sta || !(status->rx_flags & IEEE80211_RX_RA_MATCH)) in ieee80211_rx_h_uapsd_and_pspoll()
1288 if (!test_sta_flag(rx->sta, WLAN_STA_PS_STA)) in ieee80211_rx_h_uapsd_and_pspoll()
1292 if (!test_sta_flag(rx->sta, WLAN_STA_SP)) { in ieee80211_rx_h_uapsd_and_pspoll()
1293 if (!test_sta_flag(rx->sta, WLAN_STA_PS_DRIVER)) in ieee80211_rx_h_uapsd_and_pspoll()
1294 ieee80211_sta_ps_deliver_poll_response(rx->sta); in ieee80211_rx_h_uapsd_and_pspoll()
1296 set_sta_flag(rx->sta, WLAN_STA_PSPOLL); in ieee80211_rx_h_uapsd_and_pspoll()
1319 if (!(rx->sta->sta.uapsd_queues & BIT(ac))) in ieee80211_rx_h_uapsd_and_pspoll()
1323 if (test_sta_flag(rx->sta, WLAN_STA_SP)) in ieee80211_rx_h_uapsd_and_pspoll()
1326 if (!test_sta_flag(rx->sta, WLAN_STA_PS_DRIVER)) in ieee80211_rx_h_uapsd_and_pspoll()
1327 ieee80211_sta_ps_deliver_uapsd(rx->sta); in ieee80211_rx_h_uapsd_and_pspoll()
1329 set_sta_flag(rx->sta, WLAN_STA_UAPSD); in ieee80211_rx_h_uapsd_and_pspoll()
1338 struct sta_info *sta = rx->sta; in ieee80211_rx_h_sta_process() local
1344 if (!sta) in ieee80211_rx_h_sta_process()
1359 test_sta_flag(sta, WLAN_STA_AUTHORIZED)) { in ieee80211_rx_h_sta_process()
1360 sta->last_rx = jiffies; in ieee80211_rx_h_sta_process()
1363 sta->last_rx_rate_idx = status->rate_idx; in ieee80211_rx_h_sta_process()
1364 sta->last_rx_rate_flag = status->flag; in ieee80211_rx_h_sta_process()
1365 sta->last_rx_rate_vht_flag = status->vht_flag; in ieee80211_rx_h_sta_process()
1366 sta->last_rx_rate_vht_nss = status->vht_nss; in ieee80211_rx_h_sta_process()
1374 sta->last_rx = jiffies; in ieee80211_rx_h_sta_process()
1380 sta->last_rx = jiffies; in ieee80211_rx_h_sta_process()
1382 sta->last_rx_rate_idx = status->rate_idx; in ieee80211_rx_h_sta_process()
1383 sta->last_rx_rate_flag = status->flag; in ieee80211_rx_h_sta_process()
1384 sta->last_rx_rate_vht_flag = status->vht_flag; in ieee80211_rx_h_sta_process()
1385 sta->last_rx_rate_vht_nss = status->vht_nss; in ieee80211_rx_h_sta_process()
1395 sta->rx_fragments++; in ieee80211_rx_h_sta_process()
1396 sta->rx_bytes += rx->skb->len; in ieee80211_rx_h_sta_process()
1398 sta->last_signal = status->signal; in ieee80211_rx_h_sta_process()
1399 ewma_add(&sta->avg_signal, -status->signal); in ieee80211_rx_h_sta_process()
1403 sta->chains = status->chains; in ieee80211_rx_h_sta_process()
1410 sta->chain_signal_last[i] = signal; in ieee80211_rx_h_sta_process()
1411 ewma_add(&sta->chain_signal_avg[i], -signal); in ieee80211_rx_h_sta_process()
1419 if (!(sta->local->hw.flags & IEEE80211_HW_AP_LINK_PS) && in ieee80211_rx_h_sta_process()
1430 if (test_sta_flag(sta, WLAN_STA_PS_STA)) { in ieee80211_rx_h_sta_process()
1432 sta_ps_end(sta); in ieee80211_rx_h_sta_process()
1435 sta_ps_start(sta); in ieee80211_rx_h_sta_process()
1441 ieee80211_mps_rx_h_sta_process(sta, hdr); in ieee80211_rx_h_sta_process()
1460 !rx->sdata->u.vlan.sta))) { in ieee80211_rx_h_sta_process()
1461 if (!test_and_set_sta_flag(sta, WLAN_STA_4ADDR_EVENT)) in ieee80211_rx_h_sta_process()
1463 rx->sdata->dev, sta->sta.addr, in ieee80211_rx_h_sta_process()
1471 sta->rx_packets++; in ieee80211_rx_h_sta_process()
1531 if (rx->sta) { in ieee80211_rx_h_decrypt()
1532 int keyid = rx->sta->ptk_idx; in ieee80211_rx_h_decrypt()
1534 if (ieee80211_has_protected(fc) && rx->sta->cipher_scheme) { in ieee80211_rx_h_decrypt()
1535 cs = rx->sta->cipher_scheme; in ieee80211_rx_h_decrypt()
1540 sta_ptk = rcu_dereference(rx->sta->ptk[keyid]); in ieee80211_rx_h_decrypt()
1563 if (rx->sta) in ieee80211_rx_h_decrypt()
1564 rx->key = rcu_dereference(rx->sta->gtk[mmie_keyidx]); in ieee80211_rx_h_decrypt()
1583 if (rx->sta) { in ieee80211_rx_h_decrypt()
1585 key = rcu_dereference(rx->sta->gtk[i]); in ieee80211_rx_h_decrypt()
1636 if (is_multicast_ether_addr(hdr->addr1) && rx->sta) in ieee80211_rx_h_decrypt()
1637 rx->key = rcu_dereference(rx->sta->gtk[keyidx]); in ieee80211_rx_h_decrypt()
1919 if (rx->sta) in ieee80211_rx_h_defragment()
1920 rx->sta->rx_packets++; in ieee80211_rx_h_defragment()
1926 if (unlikely(!rx->sta || !test_sta_flag(rx->sta, WLAN_STA_AUTHORIZED))) in ieee80211_802_1x_port_control()
1966 if (rx->sta && test_sta_flag(rx->sta, WLAN_STA_MFP)) { in ieee80211_drop_unencrypted_mgmt()
2010 sdata->vif.type == NL80211_IFTYPE_AP_VLAN && !sdata->u.vlan.sta) in __ieee80211_data_to_8023()
2023 sdata->vif.type == NL80211_IFTYPE_AP_VLAN && sdata->u.vlan.sta) in __ieee80211_data_to_8023()
2087 (sdata->vif.type != NL80211_IFTYPE_AP_VLAN || !sdata->u.vlan.sta)) { in ieee80211_deliver_skb()
2184 !rx->sdata->u.vlan.sta) in ieee80211_rx_h_amsdu()
2189 rx->sdata->u.vlan.sta) || in ieee80211_rx_h_amsdu()
2376 if (rx->sta) { in ieee80211_rx_h_data()
2382 rx->sta->rx_msdu[rx->seqno_idx]++; in ieee80211_rx_h_data()
2391 if (rx->sta && in ieee80211_rx_h_data()
2392 !test_and_set_sta_flag(rx->sta, WLAN_STA_4ADDR_EVENT)) in ieee80211_rx_h_data()
2394 rx->sdata->dev, rx->sta->sta.addr, GFP_ATOMIC); in ieee80211_rx_h_data()
2419 if (rx->sta) in ieee80211_rx_h_data()
2420 rx->sta->rx_packets++; in ieee80211_rx_h_data()
2467 if (!rx->sta) in ieee80211_rx_h_ctrl()
2476 tid_agg_rx = rcu_dereference(rx->sta->ampdu_mlme.tid_rx[tid]); in ieee80211_rx_h_ctrl()
2607 if (!rx->sta && mgmt->u.action.category != WLAN_CATEGORY_PUBLIC && in ieee80211_rx_h_action()
2618 if (!rx->sta->sta.ht_cap.ht_supported) in ieee80211_rx_h_action()
2653 if (rx->sta->sta.smps_mode == smps_mode) in ieee80211_rx_h_action()
2655 rx->sta->sta.smps_mode = smps_mode; in ieee80211_rx_h_action()
2659 rate_control_rate_update(local, sband, rx->sta, in ieee80211_rx_h_action()
2669 if (!(rx->sta->sta.ht_cap.cap & in ieee80211_rx_h_action()
2676 max_bw = ieee80211_sta_cap_rx_bw(rx->sta); in ieee80211_rx_h_action()
2679 rx->sta->cur_max_bandwidth = max_bw; in ieee80211_rx_h_action()
2680 new_bw = ieee80211_sta_cur_vht_bw(rx->sta); in ieee80211_rx_h_action()
2682 if (rx->sta->sta.bandwidth == new_bw) in ieee80211_rx_h_action()
2685 rx->sta->sta.bandwidth = new_bw; in ieee80211_rx_h_action()
2688 rate_control_rate_update(local, sband, rx->sta, in ieee80211_rx_h_action()
2702 if (!rx->sta) in ieee80211_rx_h_action()
2735 ieee80211_vht_handle_opmode(rx->sdata, rx->sta, in ieee80211_rx_h_action()
2879 if (rx->sta) in ieee80211_rx_h_action()
2880 rx->sta->rx_packets++; in ieee80211_rx_h_action()
2888 if (rx->sta) in ieee80211_rx_h_action()
2889 rx->sta->rx_packets++; in ieee80211_rx_h_action()
2915 if (rx->sta) in ieee80211_rx_h_userspace_mgmt()
2916 rx->sta->rx_packets++; in ieee80211_rx_h_userspace_mgmt()
3034 if (rx->sta) in ieee80211_rx_h_mgmt()
3035 rx->sta->rx_packets++; in ieee80211_rx_h_mgmt()
3118 if (rx->sta) in ieee80211_rx_handlers_result()
3119 rx->sta->rx_dropped++; in ieee80211_rx_handlers_result()
3138 if (rx->sta) in ieee80211_rx_handlers_result()
3139 rx->sta->rx_dropped++; in ieee80211_rx_handlers_result()
3243 void ieee80211_release_reorder_timeout(struct sta_info *sta, int tid) in ieee80211_release_reorder_timeout() argument
3247 .sta = sta, in ieee80211_release_reorder_timeout()
3248 .sdata = sta->sdata, in ieee80211_release_reorder_timeout()
3249 .local = sta->local, in ieee80211_release_reorder_timeout()
3257 tid_agg_rx = rcu_dereference(sta->ampdu_mlme.tid_rx[tid]); in ieee80211_release_reorder_timeout()
3264 ieee80211_sta_reorder_release(sta->sdata, tid_agg_rx, &frames); in ieee80211_release_reorder_timeout()
3308 } else if (!rx->sta) { in prepare_for_handlers()
3335 } else if (!rx->sta) { in prepare_for_handlers()
3460 struct sta_info *sta, *prev_sta; in __ieee80211_rx_handle_packet() local
3502 for_each_sta_info(local, tbl, hdr->addr2, sta, tmp) { in __ieee80211_rx_handle_packet()
3504 prev_sta = sta; in __ieee80211_rx_handle_packet()
3508 rx.sta = prev_sta; in __ieee80211_rx_handle_packet()
3512 prev_sta = sta; in __ieee80211_rx_handle_packet()
3516 rx.sta = prev_sta; in __ieee80211_rx_handle_packet()
3546 rx.sta = sta_info_get_bss(prev, hdr->addr2); in __ieee80211_rx_handle_packet()
3554 rx.sta = sta_info_get_bss(prev, hdr->addr2); in __ieee80211_rx_handle_packet()