Lines Matching refs:local
96 static struct sk_buff *remove_monitor_info(struct ieee80211_local *local, in remove_monitor_info() argument
100 if (ieee80211_hw_check(&local->hw, RX_INCLUDES_FCS)) { in remove_monitor_info()
140 ieee80211_rx_radiotap_hdrlen(struct ieee80211_local *local, in ieee80211_rx_radiotap_hdrlen() argument
157 if (ieee80211_hw_check(&local->hw, SIGNAL_DBM)) in ieee80211_rx_radiotap_hdrlen()
209 ieee80211_add_rx_radiotap_header(struct ieee80211_local *local, in ieee80211_add_rx_radiotap_header() argument
232 if (!(has_fcs && ieee80211_hw_check(&local->hw, RX_INCLUDES_FCS))) in ieee80211_add_rx_radiotap_header()
278 ieee80211_calculate_rx_timestamp(local, status, in ieee80211_add_rx_radiotap_header()
286 if (has_fcs && ieee80211_hw_check(&local->hw, RX_INCLUDES_FCS)) in ieee80211_add_rx_radiotap_header()
336 if (ieee80211_hw_check(&local->hw, SIGNAL_DBM) && in ieee80211_add_rx_radiotap_header()
367 *pos++ = local->hw.radiotap_mcs_details; in ieee80211_add_rx_radiotap_header()
411 u16 known = local->hw.radiotap_vht_details; in ieee80211_add_rx_radiotap_header()
475 ieee80211_rx_monitor(struct ieee80211_local *local, struct sk_buff *origskb, in ieee80211_rx_monitor() argument
501 if (ieee80211_hw_check(&local->hw, RX_INCLUDES_FCS)) in ieee80211_rx_monitor()
510 if (!local->monitors) { in ieee80211_rx_monitor()
517 return remove_monitor_info(local, origskb, rtap_vendor_space); in ieee80211_rx_monitor()
521 rt_hdrlen = ieee80211_rx_radiotap_hdrlen(local, status, origskb); in ieee80211_rx_monitor()
548 origskb = remove_monitor_info(local, origskb, in ieee80211_rx_monitor()
556 ieee80211_add_rx_radiotap_header(local, skb, rate, rt_hdrlen, true); in ieee80211_rx_monitor()
563 list_for_each_entry_rcu(sdata, &local->interfaces, list) { in ieee80211_rx_monitor()
1031 struct ieee80211_local *local = rx->local; in ieee80211_rx_reorder_ampdu() local
1078 ieee80211_queue_work(&local->hw, &rx->sdata->work); in ieee80211_rx_reorder_ampdu()
1121 I802_DEBUG_INC(rx->local->dot11FrameDuplicateCount); in ieee80211_rx_h_check_dup()
1190 struct ieee80211_local *local; in ieee80211_rx_h_check_more_data() local
1194 local = rx->local; in ieee80211_rx_h_check_more_data()
1198 if (!local->pspolling) in ieee80211_rx_h_check_more_data()
1210 local->pspolling = false; in ieee80211_rx_h_check_more_data()
1215 ieee80211_send_pspoll(local, rx->sdata); in ieee80211_rx_h_check_more_data()
1223 struct ieee80211_local *local = sdata->local; in sta_ps_start() local
1235 if (!ieee80211_hw_check(&local->hw, AP_LINK_PS)) in sta_ps_start()
1236 drv_sta_notify(local, sdata, STA_NOTIFY_SLEEP, &sta->sta); in sta_ps_start()
1283 WARN_ON(!ieee80211_hw_check(&sta->local->hw, AP_LINK_PS)); in ieee80211_sta_ps_transition()
1319 if (ieee80211_hw_check(&sdata->local->hw, AP_LINK_PS)) in ieee80211_rx_h_uapsd_and_pspoll()
1456 if (!ieee80211_hw_check(&sta->local->hw, AP_LINK_PS) && in ieee80211_rx_h_sta_process()
1486 I802_DEBUG_INC(rx->local->rx_handlers_drop_nullfunc); in ieee80211_rx_h_sta_process()
1827 I802_DEBUG_INC(rx->local->dot11MulticastReceivedFrameCount); in ieee80211_rx_h_defragment()
1834 I802_DEBUG_INC(rx->local->rx_handlers_fragments); in ieee80211_rx_h_defragment()
1884 I802_DEBUG_INC(rx->local->rx_handlers_drop_defrag); in ieee80211_rx_h_defragment()
1928 I802_DEBUG_INC(rx->local->rx_expand_skb_head_defrag); in ieee80211_rx_h_defragment()
1931 I802_DEBUG_INC(rx->local->rx_handlers_drop_defrag); in ieee80211_rx_h_defragment()
1945 ieee80211_led_rx(rx->local); in ieee80211_rx_h_defragment()
2226 rx->local->hw.extra_tx_headroom, true); in ieee80211_rx_h_amsdu()
2250 struct ieee80211_local *local = rx->local; in ieee80211_rx_h_mesh_fwding() local
2324 if (ieee80211_queue_stopped(&local->hw, q)) { in ieee80211_rx_h_mesh_fwding()
2372 ieee80211_add_pending_skb(local, fwd_skb); in ieee80211_rx_h_mesh_fwding()
2384 struct ieee80211_local *local = rx->local; in ieee80211_rx_h_data() local
2437 skb_queue_tail(&local->skb_queue_tdls_chsw, rx->skb); in ieee80211_rx_h_data()
2438 schedule_work(&local->tdls_chsw_work); in ieee80211_rx_h_data()
2456 if (local->ps_sdata && local->hw.conf.dynamic_ps_timeout > 0 && in ieee80211_rx_h_data()
2459 (!local->scanning && in ieee80211_rx_h_data()
2461 mod_timer(&local->dynamic_ps_timer, jiffies + in ieee80211_rx_h_data()
2462 msecs_to_jiffies(local->hw.conf.dynamic_ps_timeout)); in ieee80211_rx_h_data()
2519 drv_event_callback(rx->local, rx->sdata, &event); in ieee80211_rx_h_ctrl()
2537 struct ieee80211_local *local = sdata->local; in ieee80211_process_sa_query_req() local
2557 skb = dev_alloc_skb(sizeof(*resp) + local->hw.extra_tx_headroom); in ieee80211_process_sa_query_req()
2561 skb_reserve(skb, local->hw.extra_tx_headroom); in ieee80211_process_sa_query_req()
2601 if (ieee80211_hw_check(&rx->local->hw, SIGNAL_DBM)) in ieee80211_rx_h_mgmt_check()
2604 cfg80211_report_obss_beacon(rx->local->hw.wiphy, in ieee80211_rx_h_mgmt_check()
2619 struct ieee80211_local *local = rx->local; in ieee80211_rx_h_action() local
2679 sband = rx->local->hw.wiphy->bands[status->band]; in ieee80211_rx_h_action()
2681 rate_control_rate_update(local, sband, rx->sta, in ieee80211_rx_h_action()
2708 sband = rx->local->hw.wiphy->bands[status->band]; in ieee80211_rx_h_action()
2710 rate_control_rate_update(local, sband, rx->sta, in ieee80211_rx_h_action()
2908 ieee80211_queue_work(&local->hw, &sdata->work); in ieee80211_rx_h_action()
2931 if (ieee80211_hw_check(&rx->local->hw, SIGNAL_DBM)) in ieee80211_rx_h_userspace_mgmt()
2948 struct ieee80211_local *local = rx->local; in ieee80211_rx_h_action_return() local
2979 nskb = skb_copy_expand(rx->skb, local->hw.extra_tx_headroom, 0, in ieee80211_rx_h_action_return()
2996 if (ieee80211_hw_check(&local->hw, QUEUE_CONTROL)) in ieee80211_rx_h_action_return()
2998 local->hw.offchannel_tx_hw_queue; in ieee80211_rx_h_action_return()
3054 ieee80211_queue_work(&rx->local->hw, &sdata->work); in ieee80211_rx_h_mgmt()
3065 struct ieee80211_local *local = rx->local; in ieee80211_rx_cooked_monitor() local
3080 if (!local->cooked_mntrs) in ieee80211_rx_cooked_monitor()
3086 needed_headroom = ieee80211_rx_radiotap_hdrlen(local, status, skb); in ieee80211_rx_cooked_monitor()
3093 ieee80211_add_rx_radiotap_header(local, skb, rate, needed_headroom, in ieee80211_rx_cooked_monitor()
3101 list_for_each_entry_rcu(sdata, &local->interfaces, list) { in ieee80211_rx_cooked_monitor()
3136 I802_DEBUG_INC(rx->sdata->local->rx_handlers_drop); in ieee80211_rx_handlers_result()
3147 sband = rx->local->hw.wiphy->bands[status->band]; in ieee80211_rx_handlers_result()
3156 I802_DEBUG_INC(rx->sdata->local->rx_handlers_drop); in ieee80211_rx_handlers_result()
3162 I802_DEBUG_INC(rx->sdata->local->rx_handlers_queued); in ieee80211_rx_handlers_result()
3186 spin_lock_bh(&rx->local->rx_path_lock); in ieee80211_rx_handlers()
3227 spin_unlock_bh(&rx->local->rx_path_lock); in ieee80211_rx_handlers()
3268 .local = sta->local, in ieee80211_release_reorder_timeout()
3292 drv_event_callback(rx.local, rx.sdata, &event); in ieee80211_release_reorder_timeout()
3420 struct ieee80211_local *local = rx->local; in ieee80211_prepare_and_rx_handle() local
3432 wiphy_debug(local->hw.wiphy, in ieee80211_prepare_and_rx_handle()
3453 struct ieee80211_local *local = hw_to_local(hw); in __ieee80211_rx_handle_packet() local
3466 rx.local = local; in __ieee80211_rx_handle_packet()
3470 I802_DEBUG_INC(local->dot11ReceivedFragmentCount); in __ieee80211_rx_handle_packet()
3493 ieee80211_scan_rx(local, skb); in __ieee80211_rx_handle_packet()
3500 tbl = rht_dereference_rcu(local->sta_hash.tbl, &local->sta_hash); in __ieee80211_rx_handle_packet()
3502 for_each_sta_info(local, tbl, hdr->addr2, sta, tmp) { in __ieee80211_rx_handle_packet()
3527 list_for_each_entry_rcu(sdata, &local->interfaces, list) { in __ieee80211_rx_handle_packet()
3572 struct ieee80211_local *local = hw_to_local(hw); in ieee80211_rx_napi() local
3582 sband = local->hw.wiphy->bands[status->band]; in ieee80211_rx_napi()
3593 if (unlikely(local->quiescing || local->suspended)) in ieee80211_rx_napi()
3597 if (unlikely(local->in_reconfig)) in ieee80211_rx_napi()
3604 if (WARN_ON(!local->started)) in ieee80211_rx_napi()
3660 skb = ieee80211_rx_monitor(local, skb, rate); in ieee80211_rx_napi()
3666 ieee80211_tpt_led_trig_rx(local, in ieee80211_rx_napi()
3683 struct ieee80211_local *local = hw_to_local(hw); in ieee80211_rx_irqsafe() local
3688 skb_queue_tail(&local->skb_queue, skb); in ieee80211_rx_irqsafe()
3689 tasklet_schedule(&local->tasklet); in ieee80211_rx_irqsafe()