/net/mac80211/ |
D | sta_info.c | 80 struct sta_info *sta) in sta_info_hash_del() argument 82 return rhashtable_remove_fast(&local->sta_hash, &sta->hash_node, in sta_info_hash_del() 86 static void __cleanup_single_sta(struct sta_info *sta) in __cleanup_single_sta() argument 90 struct ieee80211_sub_if_data *sdata = sta->sdata; in __cleanup_single_sta() 94 if (test_sta_flag(sta, WLAN_STA_PS_STA) || in __cleanup_single_sta() 95 test_sta_flag(sta, WLAN_STA_PS_DRIVER) || in __cleanup_single_sta() 96 test_sta_flag(sta, WLAN_STA_PS_DELIVER)) { in __cleanup_single_sta() 97 if (sta->sdata->vif.type == NL80211_IFTYPE_AP || in __cleanup_single_sta() 98 sta->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) in __cleanup_single_sta() 105 clear_sta_flag(sta, WLAN_STA_PS_STA); in __cleanup_single_sta() [all …]
|
D | mesh_plink.c | 59 struct sta_info *sta) in rssi_threshold_check() argument 63 (sta && in rssi_threshold_check() 64 (s8)-ewma_signal_read(&sta->rx_stats.avg_signal) > in rssi_threshold_check() 75 static inline void mesh_plink_fsm_restart(struct sta_info *sta) in mesh_plink_fsm_restart() argument 77 lockdep_assert_held(&sta->mesh->plink_lock); in mesh_plink_fsm_restart() 78 sta->mesh->plink_state = NL80211_PLINK_LISTEN; in mesh_plink_fsm_restart() 79 sta->mesh->llid = sta->mesh->plid = sta->mesh->reason = 0; in mesh_plink_fsm_restart() 80 sta->mesh->plink_retries = 0; in mesh_plink_fsm_restart() 98 struct sta_info *sta; in mesh_set_short_slot_time() local 118 list_for_each_entry_rcu(sta, &local->sta_list, list) { in mesh_set_short_slot_time() [all …]
|
D | mesh_ps.c | 19 static struct sk_buff *mps_qos_null_get(struct sta_info *sta) in mps_qos_null_get() argument 21 struct ieee80211_sub_if_data *sdata = sta->sdata; in mps_qos_null_get() 35 ieee80211_fill_mesh_addresses(nullfunc, &fc, sta->sta.addr, in mps_qos_null_get() 41 memcpy(nullfunc->addr1, sta->sta.addr, ETH_ALEN); in mps_qos_null_get() 43 ieee80211_mps_set_frame_flags(sdata, sta, nullfunc); in mps_qos_null_get() 51 static void mps_qos_null_tx(struct sta_info *sta) in mps_qos_null_tx() argument 55 skb = mps_qos_null_get(sta); in mps_qos_null_tx() 59 mps_dbg(sta->sdata, "announcing peer-specific power mode to %pM\n", in mps_qos_null_tx() 60 sta->sta.addr); in mps_qos_null_tx() 63 if (!test_sta_flag(sta, WLAN_STA_PS_STA)) { in mps_qos_null_tx() [all …]
|
D | agg-tx.c | 146 void ieee80211_assign_tid_tx(struct sta_info *sta, int tid, in ieee80211_assign_tid_tx() argument 149 lockdep_assert_held(&sta->ampdu_mlme.mtx); in ieee80211_assign_tid_tx() 150 lockdep_assert_held(&sta->lock); in ieee80211_assign_tid_tx() 151 rcu_assign_pointer(sta->ampdu_mlme.tid_tx[tid], tid_tx); in ieee80211_assign_tid_tx() 194 ieee80211_agg_stop_txq(struct sta_info *sta, int tid) in ieee80211_agg_stop_txq() argument 196 struct ieee80211_txq *txq = sta->sta.txq[tid]; in ieee80211_agg_stop_txq() 211 ieee80211_agg_start_txq(struct sta_info *sta, int tid, bool enable) in ieee80211_agg_start_txq() argument 213 struct ieee80211_txq *txq = sta->sta.txq[tid]; in ieee80211_agg_start_txq() 227 drv_wake_tx_queue(sta->sdata->local, txqi); in ieee80211_agg_start_txq() 264 static void ieee80211_remove_tid_tx(struct sta_info *sta, int tid) in ieee80211_remove_tid_tx() argument [all …]
|
D | agg-rx.c | 60 void ___ieee80211_stop_rx_ba_session(struct sta_info *sta, u16 tid, in ___ieee80211_stop_rx_ba_session() argument 63 struct ieee80211_local *local = sta->local; in ___ieee80211_stop_rx_ba_session() 66 .sta = &sta->sta, in ___ieee80211_stop_rx_ba_session() 74 lockdep_assert_held(&sta->ampdu_mlme.mtx); in ___ieee80211_stop_rx_ba_session() 76 tid_rx = rcu_dereference_protected(sta->ampdu_mlme.tid_rx[tid], in ___ieee80211_stop_rx_ba_session() 77 lockdep_is_held(&sta->ampdu_mlme.mtx)); in ___ieee80211_stop_rx_ba_session() 82 RCU_INIT_POINTER(sta->ampdu_mlme.tid_rx[tid], NULL); in ___ieee80211_stop_rx_ba_session() 84 ht_dbg(sta->sdata, in ___ieee80211_stop_rx_ba_session() 86 sta->sta.addr, tid, in ___ieee80211_stop_rx_ba_session() 90 if (drv_ampdu_action(local, sta->sdata, ¶ms)) in ___ieee80211_stop_rx_ba_session() [all …]
|
D | rate.h | 29 struct sta_info *sta, 34 struct sta_info *sta, in rate_control_tx_status() argument 38 struct ieee80211_sta *ista = &sta->sta; in rate_control_tx_status() 39 void *priv_sta = sta->rate_ctrl_priv; in rate_control_tx_status() 42 if (!ref || !test_sta_flag(sta, WLAN_STA_RATE_CONTROL)) in rate_control_tx_status() 45 spin_lock_bh(&sta->rate_ctrl_lock); in rate_control_tx_status() 50 spin_unlock_bh(&sta->rate_ctrl_lock); in rate_control_tx_status() 56 struct sta_info *sta, in rate_control_tx_status_noskb() argument 60 struct ieee80211_sta *ista = &sta->sta; in rate_control_tx_status_noskb() 61 void *priv_sta = sta->rate_ctrl_priv; in rate_control_tx_status_noskb() [all …]
|
D | vht.c | 118 struct sta_info *sta) in ieee80211_vht_cap_ie_to_sta_vht_cap() argument 120 struct ieee80211_sta_vht_cap *vht_cap = &sta->sta.vht_cap; in ieee80211_vht_cap_ie_to_sta_vht_cap() 127 if (!sta->sta.ht_cap.ht_supported) in ieee80211_vht_cap_ie_to_sta_vht_cap() 164 !test_sta_flag(sta, WLAN_STA_TDLS_PEER)) in ieee80211_vht_cap_ie_to_sta_vht_cap() 274 sta->cur_max_bandwidth = IEEE80211_STA_RX_BW_160; in ieee80211_vht_cap_ie_to_sta_vht_cap() 277 sta->cur_max_bandwidth = IEEE80211_STA_RX_BW_80; in ieee80211_vht_cap_ie_to_sta_vht_cap() 280 sta->sta.bandwidth = ieee80211_sta_cur_vht_bw(sta); in ieee80211_vht_cap_ie_to_sta_vht_cap() 283 enum ieee80211_sta_rx_bandwidth ieee80211_sta_cap_rx_bw(struct sta_info *sta) in ieee80211_sta_cap_rx_bw() argument 285 struct ieee80211_sta_vht_cap *vht_cap = &sta->sta.vht_cap; in ieee80211_sta_cap_rx_bw() 289 return sta->sta.ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40 ? in ieee80211_sta_cap_rx_bw() [all …]
|
D | debugfs_sta.c | 27 struct sta_info *sta = file->private_data; \ 29 format_string, sta->field); \ 52 STA_FILE(aid, sta.aid, D); 58 struct sta_info *sta = file->private_data; in sta_flags_read() local 61 test_sta_flag(sta, WLAN_STA_##flg) ? #flg "\n" : "" in sta_flags_read() 68 sta->sta.wme ? "WME\n" : "", in sta_flags_read() 86 struct sta_info *sta = file->private_data; in sta_num_ps_buf_frames_read() local 92 skb_queue_len(&sta->ps_tx_buf[ac]) + in sta_num_ps_buf_frames_read() 93 skb_queue_len(&sta->tx_filtered[ac])); in sta_num_ps_buf_frames_read() 103 struct sta_info *sta = file->private_data; in sta_last_seq_ctrl_read() local [all …]
|
D | status.c | 47 struct sta_info *sta, in ieee80211_handle_filtered_frame() argument 65 info->control.vif = &sta->sdata->vif; in ieee80211_handle_filtered_frame() 70 sta->status_stats.filtered++; in ieee80211_handle_filtered_frame() 103 set_sta_flag(sta, WLAN_STA_CLEAR_PS_FILT); in ieee80211_handle_filtered_frame() 104 ieee80211_clear_fast_xmit(sta); in ieee80211_handle_filtered_frame() 140 if (test_sta_flag(sta, WLAN_STA_PS_STA) && in ieee80211_handle_filtered_frame() 141 skb_queue_len(&sta->tx_filtered[ac]) < STA_MAX_TX_BUFFER) { in ieee80211_handle_filtered_frame() 142 skb_queue_tail(&sta->tx_filtered[ac], skb); in ieee80211_handle_filtered_frame() 143 sta_info_recalc_tim(sta); in ieee80211_handle_filtered_frame() 152 if (!test_sta_flag(sta, WLAN_STA_PS_STA) && in ieee80211_handle_filtered_frame() [all …]
|
D | tdls.c | 301 struct sta_info *sta) in ieee80211_tdls_chandef_vht_upgrade() argument 305 struct cfg80211_chan_def uc = sta->tdls_chandef; in ieee80211_tdls_chandef_vht_upgrade() 306 enum nl80211_chan_width max_width = ieee80211_sta_cap_chan_bw(sta); in ieee80211_tdls_chandef_vht_upgrade() 342 if (!cfg80211_chandef_identical(&uc, &sta->tdls_chandef)) { in ieee80211_tdls_chandef_vht_upgrade() 344 sta->tdls_chandef.width, uc.width); in ieee80211_tdls_chandef_vht_upgrade() 350 sta->tdls_chandef = uc; in ieee80211_tdls_chandef_vht_upgrade() 365 struct sta_info *sta = NULL; in ieee80211_tdls_add_setup_start_ies() local 425 sta = sta_info_get(sdata, peer); in ieee80211_tdls_add_setup_start_ies() 426 if (WARN_ON_ONCE(!sta)) { in ieee80211_tdls_add_setup_start_ies() 431 sta->tdls_chandef = sdata->vif.bss_conf.chandef; in ieee80211_tdls_add_setup_start_ies() [all …]
|
D | mesh_sync.c | 86 struct sta_info *sta; in mesh_sync_offset_rx_bcn_presp() local 111 sta = sta_info_get(sdata, mgmt->sa); in mesh_sync_offset_rx_bcn_presp() 112 if (!sta) in mesh_sync_offset_rx_bcn_presp() 123 sta->sta.addr); in mesh_sync_offset_rx_bcn_presp() 129 sta->mesh->t_offset = t_t - t_r; in mesh_sync_offset_rx_bcn_presp() 131 if (test_sta_flag(sta, WLAN_STA_TOFFSET_KNOWN)) { in mesh_sync_offset_rx_bcn_presp() 132 s64 t_clockdrift = sta->mesh->t_offset_setpoint - sta->mesh->t_offset; in mesh_sync_offset_rx_bcn_presp() 135 sta->sta.addr, (long long) sta->mesh->t_offset, in mesh_sync_offset_rx_bcn_presp() 136 (long long) sta->mesh->t_offset_setpoint, in mesh_sync_offset_rx_bcn_presp() 143 sta->sta.addr, in mesh_sync_offset_rx_bcn_presp() [all …]
|
D | ocb.c | 50 struct sta_info *sta; in ieee80211_ocb_rx_no_sta() local 74 sta = sta_info_alloc(sdata, addr, GFP_ATOMIC); in ieee80211_ocb_rx_no_sta() 75 if (!sta) in ieee80211_ocb_rx_no_sta() 78 sta->rx_stats.last_rx = jiffies; in ieee80211_ocb_rx_no_sta() 82 sta->sta.supp_rates[band] = in ieee80211_ocb_rx_no_sta() 86 list_add(&sta->list, &ifocb->incomplete_stations); in ieee80211_ocb_rx_no_sta() 91 static struct sta_info *ieee80211_ocb_finish_sta(struct sta_info *sta) in ieee80211_ocb_finish_sta() argument 94 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_ocb_finish_sta() 97 memcpy(addr, sta->sta.addr, ETH_ALEN); in ieee80211_ocb_finish_sta() 102 sta_info_move_state(sta, IEEE80211_STA_AUTH); in ieee80211_ocb_finish_sta() [all …]
|
D | sta_info.h | 528 struct ieee80211_sta sta; member 531 static inline enum nl80211_plink_state sta_plink_state(struct sta_info *sta) in sta_plink_state() argument 534 return sta->mesh->plink_state; in sta_plink_state() 539 static inline void set_sta_flag(struct sta_info *sta, in set_sta_flag() argument 545 set_bit(flag, &sta->_flags); in set_sta_flag() 548 static inline void clear_sta_flag(struct sta_info *sta, in clear_sta_flag() argument 554 clear_bit(flag, &sta->_flags); in clear_sta_flag() 557 static inline int test_sta_flag(struct sta_info *sta, in test_sta_flag() argument 560 return test_bit(flag, &sta->_flags); in test_sta_flag() 563 static inline int test_and_clear_sta_flag(struct sta_info *sta, in test_and_clear_sta_flag() argument [all …]
|
D | rate.c | 32 void rate_control_rate_init(struct sta_info *sta) in rate_control_rate_init() argument 34 struct ieee80211_local *local = sta->sdata->local; in rate_control_rate_init() 35 struct rate_control_ref *ref = sta->rate_ctrl; in rate_control_rate_init() 36 struct ieee80211_sta *ista = &sta->sta; in rate_control_rate_init() 37 void *priv_sta = sta->rate_ctrl_priv; in rate_control_rate_init() 41 ieee80211_sta_set_rx_nss(sta); in rate_control_rate_init() 48 chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf); in rate_control_rate_init() 56 spin_lock_bh(&sta->rate_ctrl_lock); in rate_control_rate_init() 59 spin_unlock_bh(&sta->rate_ctrl_lock); in rate_control_rate_init() 61 set_sta_flag(sta, WLAN_STA_RATE_CONTROL); in rate_control_rate_init() [all …]
|
D | tx.c | 317 if (tx->sta) in ieee80211_tx_h_check_assoc() 318 assoc = test_sta_flag(tx->sta, WLAN_STA_ASSOC); in ieee80211_tx_h_check_assoc() 353 struct sta_info *sta; in purge_old_ps_buffers() local 377 list_for_each_entry_rcu(sta, &local->sta_list, list) { in purge_old_ps_buffers() 381 skb = skb_dequeue(&sta->ps_tx_buf[ac]); in purge_old_ps_buffers() 382 total += skb_queue_len(&sta->ps_tx_buf[ac]); in purge_old_ps_buffers() 460 static int ieee80211_use_mfp(__le16 fc, struct sta_info *sta, in ieee80211_use_mfp() argument 466 if (sta == NULL || !test_sta_flag(sta, WLAN_STA_MFP)) in ieee80211_use_mfp() 478 struct sta_info *sta = tx->sta; in ieee80211_tx_h_unicast_ps_buf() local 483 if (unlikely(!sta)) in ieee80211_tx_h_unicast_ps_buf() [all …]
|
D | wme.c | 87 struct sta_info *sta, struct sk_buff *skb) in ieee80211_downgrade_queue() argument 111 if (sta && sta->reserved_tid == skb->priority) in ieee80211_downgrade_queue() 149 struct sta_info *sta = NULL; in ieee80211_select_queue() local 163 sta = rcu_dereference(sdata->u.vlan.sta); in ieee80211_select_queue() 164 if (sta) { in ieee80211_select_queue() 165 qos = sta->sta.wme; in ieee80211_select_queue() 181 sta = sta_info_get(sdata, skb->data); in ieee80211_select_queue() 182 if (sta) in ieee80211_select_queue() 183 qos = sta->sta.wme; in ieee80211_select_queue() 198 if (!sta && ra && !is_multicast_ether_addr(ra)) { in ieee80211_select_queue() [all …]
|
D | ht.c | 133 struct sta_info *sta) in ieee80211_ht_cap_ie_to_sta_ht_cap() argument 234 changed = memcmp(&sta->sta.ht_cap, &ht_cap, sizeof(ht_cap)); in ieee80211_ht_cap_ie_to_sta_ht_cap() 236 memcpy(&sta->sta.ht_cap, &ht_cap, sizeof(ht_cap)); in ieee80211_ht_cap_ie_to_sta_ht_cap() 255 sta->sta.bandwidth = bw; in ieee80211_ht_cap_ie_to_sta_ht_cap() 257 sta->cur_max_bandwidth = in ieee80211_ht_cap_ie_to_sta_ht_cap() 275 if (smps_mode != sta->sta.smps_mode) in ieee80211_ht_cap_ie_to_sta_ht_cap() 277 sta->sta.smps_mode = smps_mode; in ieee80211_ht_cap_ie_to_sta_ht_cap() 282 void ieee80211_sta_tear_down_BA_sessions(struct sta_info *sta, in ieee80211_sta_tear_down_BA_sessions() argument 287 cancel_work_sync(&sta->ampdu_mlme.work); in ieee80211_sta_tear_down_BA_sessions() 290 __ieee80211_stop_tx_ba_session(sta, i, reason); in ieee80211_sta_tear_down_BA_sessions() [all …]
|
D | ethtool.c | 71 struct sta_info *sta; in ieee80211_get_stats() local 80 #define ADD_STA_STATS(sta) \ in ieee80211_get_stats() argument 82 data[i++] += sta->rx_stats.packets; \ in ieee80211_get_stats() 83 data[i++] += sta->rx_stats.bytes; \ in ieee80211_get_stats() 84 data[i++] += sta->rx_stats.num_duplicates; \ in ieee80211_get_stats() 85 data[i++] += sta->rx_stats.fragments; \ in ieee80211_get_stats() 86 data[i++] += sta->rx_stats.dropped; \ in ieee80211_get_stats() 90 data[i++] += sta->status_stats.filtered; \ in ieee80211_get_stats() 91 data[i++] += sta->status_stats.retry_failed; \ in ieee80211_get_stats() 92 data[i++] += sta->status_stats.retry_count; \ in ieee80211_get_stats() [all …]
|
D | rx.c | 769 if (!rx->sta || sta_plink_state(rx->sta) != NL80211_PLINK_ESTAB) { in ieee80211_rx_mesh_check() 1034 struct sta_info *sta = rx->sta; in ieee80211_rx_reorder_ampdu() local 1048 if (!sta) in ieee80211_rx_reorder_ampdu() 1055 tid_agg_rx = rcu_dereference(sta->ampdu_mlme.tid_rx[tid]); in ieee80211_rx_reorder_ampdu() 1117 if (!rx->sta) in ieee80211_rx_h_check_dup() 1121 rx->sta->last_seq_ctrl[rx->seqno_idx] == hdr->seq_ctrl)) { in ieee80211_rx_h_check_dup() 1123 rx->sta->rx_stats.num_duplicates++; in ieee80211_rx_h_check_dup() 1126 rx->sta->last_seq_ctrl[rx->seqno_idx] = hdr->seq_ctrl; in ieee80211_rx_h_check_dup() 1154 (!rx->sta || !test_sta_flag(rx->sta, WLAN_STA_ASSOC)))) { in ieee80211_rx_h_check() 1160 if (rx->sta && rx->sdata->vif.type == NL80211_IFTYPE_STATION && in ieee80211_rx_h_check() [all …]
|
D | cfg.c | 69 RCU_INIT_POINTER(sdata->u.vlan.sta, NULL); in ieee80211_change_iface() 151 struct sta_info *sta = NULL; in ieee80211_add_key() local 194 sta = sta_info_get(sdata, mac_addr); in ieee80211_add_key() 196 sta = sta_info_get_bss(sdata, mac_addr); in ieee80211_add_key() 207 if (!sta || !test_sta_flag(sta, WLAN_STA_ASSOC)) { in ieee80211_add_key() 222 if (sta && test_sta_flag(sta, WLAN_STA_MFP)) in ieee80211_add_key() 247 if (sta) in ieee80211_add_key() 248 sta->cipher_scheme = cs; in ieee80211_add_key() 250 err = ieee80211_key_link(key, sdata, sta); in ieee80211_add_key() 263 struct sta_info *sta; in ieee80211_del_key() local [all …]
|
D | ibss.c | 580 static struct sta_info *ieee80211_ibss_finish_sta(struct sta_info *sta) in ieee80211_ibss_finish_sta() argument 583 struct ieee80211_sub_if_data *sdata = sta->sdata; in ieee80211_ibss_finish_sta() 586 memcpy(addr, sta->sta.addr, ETH_ALEN); in ieee80211_ibss_finish_sta() 590 sta_info_pre_move_state(sta, IEEE80211_STA_AUTH); in ieee80211_ibss_finish_sta() 591 sta_info_pre_move_state(sta, IEEE80211_STA_ASSOC); in ieee80211_ibss_finish_sta() 594 if (!sta->sdata->u.ibss.control_port) in ieee80211_ibss_finish_sta() 595 sta_info_pre_move_state(sta, IEEE80211_STA_AUTHORIZED); in ieee80211_ibss_finish_sta() 597 rate_control_rate_init(sta); in ieee80211_ibss_finish_sta() 600 if (sta_info_insert_rcu(sta)) in ieee80211_ibss_finish_sta() 602 return sta; in ieee80211_ibss_finish_sta() [all …]
|
D | pm.c | 20 struct sta_info *sta; in __ieee80211_suspend() local 36 list_for_each_entry(sta, &local->sta_list, list) { in __ieee80211_suspend() 37 set_sta_flag(sta, WLAN_STA_BLOCK_BA); in __ieee80211_suspend() 39 sta, AGG_STOP_LOCAL_REQUEST); in __ieee80211_suspend() 115 list_for_each_entry(sta, in __ieee80211_suspend() 117 clear_sta_flag(sta, WLAN_STA_BLOCK_BA); in __ieee80211_suspend() 155 sta = sdata->u.wds.sta; in __ieee80211_suspend() 156 if (sta && sta->uploaded) { in __ieee80211_suspend() 159 state = sta->sta_state; in __ieee80211_suspend() 161 WARN_ON(drv_sta_state(local, sta->sdata, in __ieee80211_suspend() [all …]
|
D | driver-ops.h | 208 struct ieee80211_sta *sta, bool set) in drv_set_tim() argument 211 trace_drv_set_tim(local, sta, set); in drv_set_tim() 213 ret = local->ops->set_tim(&local->hw, sta, set); in drv_set_tim() 221 struct ieee80211_sta *sta, in drv_set_key() argument 232 trace_drv_set_key(local, cmd, sdata, sta, key); in drv_set_key() 233 ret = local->ops->set_key(&local->hw, cmd, &sdata->vif, sta, key); in drv_set_key() 241 struct sta_info *sta, u32 iv32, in drv_update_tkip_key() argument 246 if (sta) in drv_update_tkip_key() 247 ista = &sta->sta; in drv_update_tkip_key() 420 struct ieee80211_sta *sta) in drv_sta_notify() argument [all …]
|
D | driver-ops.c | 112 struct sta_info *sta, in drv_sta_state() argument 124 trace_drv_sta_state(local, sdata, &sta->sta, old_state, new_state); in drv_sta_state() 126 ret = local->ops->sta_state(&local->hw, &sdata->vif, &sta->sta, in drv_sta_state() 130 ret = drv_sta_add(local, sdata, &sta->sta); in drv_sta_state() 132 sta->uploaded = true; in drv_sta_state() 133 if (rcu_access_pointer(sta->sta.rates)) in drv_sta_state() 134 drv_sta_rate_tbl_update(local, sdata, &sta->sta); in drv_sta_state() 138 drv_sta_remove(local, sdata, &sta->sta); in drv_sta_state() 146 struct ieee80211_sta *sta, u32 changed) in drv_sta_rc_update() argument 156 trace_drv_sta_rc_update(local, sdata, sta, changed); in drv_sta_rc_update() [all …]
|
D | key.c | 130 struct sta_info *sta; in ieee80211_key_enable_hw_accel() local 152 sta = key->sta; in ieee80211_key_enable_hw_accel() 158 if (sta && !(key->conf.flags & IEEE80211_KEY_FLAG_PAIRWISE) && in ieee80211_key_enable_hw_accel() 162 if (sta && !sta->uploaded) in ieee80211_key_enable_hw_accel() 176 sta ? &sta->sta : NULL, &key->conf); in ieee80211_key_enable_hw_accel() 195 sta ? sta->sta.addr : bcast_addr, ret); in ieee80211_key_enable_hw_accel() 224 struct sta_info *sta; in ieee80211_key_disable_hw_accel() local 237 sta = key->sta; in ieee80211_key_disable_hw_accel() 245 sta ? &sta->sta : NULL, &key->conf); in ieee80211_key_disable_hw_accel() 251 sta ? sta->sta.addr : bcast_addr, ret); in ieee80211_key_disable_hw_accel() [all …]
|