Lines Matching full:local

130 	if (sdata->local->hw.flags & IEEE80211_HW_BEACON_FILTER)  in ieee80211_sta_reset_beacon_monitor()
144 if (sdata->local->hw.flags & IEEE80211_HW_CONNECTION_MONITOR) in ieee80211_sta_reset_conn_monitor()
168 struct ieee80211_local *local = sdata->local; in ieee80211_enable_ht() local
178 sband = local->hw.wiphy->bands[local->hw.conf.channel->band]; in ieee80211_enable_ht()
190 if (local->hw.conf.channel->center_freq != hti_cfreq) { in ieee80211_enable_ht()
201 local->hw.conf.channel->center_freq, in ieee80211_enable_ht()
217 if (!(local->hw.conf.channel->flags & in ieee80211_enable_ht()
222 if (!(local->hw.conf.channel->flags & in ieee80211_enable_ht()
230 if (local->tmp_channel) in ieee80211_enable_ht()
231 local->tmp_channel_type = channel_type; in ieee80211_enable_ht()
233 if (!ieee80211_set_channel_type(local, sdata, channel_type)) { in ieee80211_enable_ht()
236 WARN_ON(!ieee80211_set_channel_type(local, sdata, channel_type)); in ieee80211_enable_ht()
245 ieee80211_stop_queues_by_reason(&sdata->local->hw, in ieee80211_enable_ht()
251 drv_flush(local, false); in ieee80211_enable_ht()
255 ieee80211_hw_config(local, 0); in ieee80211_enable_ht()
261 rate_control_rate_update(local, sband, sta, in ieee80211_enable_ht()
267 ieee80211_wake_queues_by_reason(&sdata->local->hw, in ieee80211_enable_ht()
291 struct ieee80211_local *local = sdata->local; in ieee80211_send_deauth_disassoc() local
296 skb = dev_alloc_skb(local->hw.extra_tx_headroom + sizeof(*mgmt)); in ieee80211_send_deauth_disassoc()
300 skb_reserve(skb, local->hw.extra_tx_headroom); in ieee80211_send_deauth_disassoc()
331 void ieee80211_send_pspoll(struct ieee80211_local *local, in ieee80211_send_pspoll() argument
337 skb = ieee80211_pspoll_get(&local->hw, &sdata->vif); in ieee80211_send_pspoll()
348 void ieee80211_send_nullfunc(struct ieee80211_local *local, in ieee80211_send_nullfunc() argument
356 skb = ieee80211_nullfunc_get(&local->hw, &sdata->vif); in ieee80211_send_nullfunc()
372 static void ieee80211_send_4addr_nullfunc(struct ieee80211_local *local, in ieee80211_send_4addr_nullfunc() argument
382 skb = dev_alloc_skb(local->hw.extra_tx_headroom + 30); in ieee80211_send_4addr_nullfunc()
386 skb_reserve(skb, local->hw.extra_tx_headroom); in ieee80211_send_4addr_nullfunc()
416 sdata->local->oper_channel = sdata->local->csa_channel; in ieee80211_chswitch_work()
417 if (!sdata->local->ops->channel_switch) { in ieee80211_chswitch_work()
419 ieee80211_hw_config(sdata->local, in ieee80211_chswitch_work()
423 sdata->local->hw.conf.channel = sdata->local->oper_channel; in ieee80211_chswitch_work()
427 ifmgd->associated->channel = sdata->local->oper_channel; in ieee80211_chswitch_work()
429 ieee80211_wake_queues_by_reason(&sdata->local->hw, in ieee80211_chswitch_work()
452 sdata->local->csa_channel = sdata->local->oper_channel; in ieee80211_chswitch_done()
455 ieee80211_queue_work(&sdata->local->hw, &ifmgd->chswitch_work); in ieee80211_chswitch_done()
465 if (sdata->local->quiescing) { in ieee80211_chswitch_timer()
470 ieee80211_queue_work(&sdata->local->hw, &ifmgd->chswitch_work); in ieee80211_chswitch_timer()
490 if (sdata->local->scanning) in ieee80211_sta_process_chanswitch()
499 new_ch = ieee80211_get_channel(sdata->local->hw.wiphy, new_freq); in ieee80211_sta_process_chanswitch()
503 sdata->local->csa_channel = new_ch; in ieee80211_sta_process_chanswitch()
505 if (sdata->local->ops->channel_switch) { in ieee80211_sta_process_chanswitch()
512 ieee80211_stop_queues_by_reason(&sdata->local->hw, in ieee80211_sta_process_chanswitch()
518 drv_channel_switch(sdata->local, &ch_switch); in ieee80211_sta_process_chanswitch()
524 ieee80211_queue_work(&sdata->local->hw, &ifmgd->chswitch_work); in ieee80211_sta_process_chanswitch()
527 ieee80211_stop_queues_by_reason(&sdata->local->hw, in ieee80211_sta_process_chanswitch()
541 struct ieee80211_conf *conf = &sdata->local->hw.conf; in ieee80211_handle_pwr_constr()
551 (*pwr_constr_elem != sdata->local->power_constr_level)) { in ieee80211_handle_pwr_constr()
552 sdata->local->power_constr_level = *pwr_constr_elem; in ieee80211_handle_pwr_constr()
553 ieee80211_hw_config(sdata->local, 0); in ieee80211_handle_pwr_constr()
560 struct ieee80211_local *local = sdata->local; in ieee80211_enable_dyn_ps() local
561 struct ieee80211_conf *conf = &local->hw.conf; in ieee80211_enable_dyn_ps()
564 !(local->hw.flags & IEEE80211_HW_SUPPORTS_PS) || in ieee80211_enable_dyn_ps()
565 (local->hw.flags & IEEE80211_HW_SUPPORTS_DYNAMIC_PS)); in ieee80211_enable_dyn_ps()
567 local->disable_dynamic_ps = false; in ieee80211_enable_dyn_ps()
568 conf->dynamic_ps_timeout = local->dynamic_ps_user_timeout; in ieee80211_enable_dyn_ps()
575 struct ieee80211_local *local = sdata->local; in ieee80211_disable_dyn_ps() local
576 struct ieee80211_conf *conf = &local->hw.conf; in ieee80211_disable_dyn_ps()
579 !(local->hw.flags & IEEE80211_HW_SUPPORTS_PS) || in ieee80211_disable_dyn_ps()
580 (local->hw.flags & IEEE80211_HW_SUPPORTS_DYNAMIC_PS)); in ieee80211_disable_dyn_ps()
582 local->disable_dynamic_ps = true; in ieee80211_disable_dyn_ps()
584 del_timer_sync(&local->dynamic_ps_timer); in ieee80211_disable_dyn_ps()
585 ieee80211_queue_work(&local->hw, in ieee80211_disable_dyn_ps()
586 &local->dynamic_ps_enable_work); in ieee80211_disable_dyn_ps()
591 static void ieee80211_enable_ps(struct ieee80211_local *local, in ieee80211_enable_ps() argument
594 struct ieee80211_conf *conf = &local->hw.conf; in ieee80211_enable_ps()
600 if (local->scanning) in ieee80211_enable_ps()
604 !(local->hw.flags & IEEE80211_HW_SUPPORTS_DYNAMIC_PS)) { in ieee80211_enable_ps()
605 mod_timer(&local->dynamic_ps_timer, jiffies + in ieee80211_enable_ps()
608 if (local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK) in ieee80211_enable_ps()
609 ieee80211_send_nullfunc(local, sdata, 1); in ieee80211_enable_ps()
611 if ((local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK) && in ieee80211_enable_ps()
612 (local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS)) in ieee80211_enable_ps()
616 ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS); in ieee80211_enable_ps()
620 static void ieee80211_change_ps(struct ieee80211_local *local) in ieee80211_change_ps() argument
622 struct ieee80211_conf *conf = &local->hw.conf; in ieee80211_change_ps()
624 if (local->ps_sdata) { in ieee80211_change_ps()
625 ieee80211_enable_ps(local, local->ps_sdata); in ieee80211_change_ps()
628 ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS); in ieee80211_change_ps()
629 del_timer_sync(&local->dynamic_ps_timer); in ieee80211_change_ps()
630 cancel_work_sync(&local->dynamic_ps_enable_work); in ieee80211_change_ps()
666 void ieee80211_recalc_ps(struct ieee80211_local *local, s32 latency) in ieee80211_recalc_ps() argument
672 if (!(local->hw.flags & IEEE80211_HW_SUPPORTS_PS)) { in ieee80211_recalc_ps()
673 local->ps_sdata = NULL; in ieee80211_recalc_ps()
677 if (!list_empty(&local->work_list)) { in ieee80211_recalc_ps()
678 local->ps_sdata = NULL; in ieee80211_recalc_ps()
682 list_for_each_entry(sdata, &local->interfaces, list) { in ieee80211_recalc_ps()
700 struct ieee80211_conf *conf = &local->hw.conf; in ieee80211_recalc_ps()
709 timeout = local->dynamic_ps_forced_timeout; in ieee80211_recalc_ps()
724 local->dynamic_ps_user_timeout = timeout; in ieee80211_recalc_ps()
725 if (!local->disable_dynamic_ps) in ieee80211_recalc_ps()
727 local->dynamic_ps_user_timeout; in ieee80211_recalc_ps()
730 local->ps_sdata = NULL; in ieee80211_recalc_ps()
746 local->hw.conf.max_sleep_period = maxslp; in ieee80211_recalc_ps()
747 local->hw.conf.ps_dtim_period = dtimper; in ieee80211_recalc_ps()
748 local->ps_sdata = found; in ieee80211_recalc_ps()
751 local->ps_sdata = NULL; in ieee80211_recalc_ps()
755 ieee80211_change_ps(local); in ieee80211_recalc_ps()
760 struct ieee80211_local *local = in ieee80211_dynamic_ps_disable_work() local
764 if (local->hw.conf.flags & IEEE80211_CONF_PS) { in ieee80211_dynamic_ps_disable_work()
765 local->hw.conf.flags &= ~IEEE80211_CONF_PS; in ieee80211_dynamic_ps_disable_work()
766 ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS); in ieee80211_dynamic_ps_disable_work()
769 ieee80211_wake_queues_by_reason(&local->hw, in ieee80211_dynamic_ps_disable_work()
775 struct ieee80211_local *local = in ieee80211_dynamic_ps_enable_work() local
778 struct ieee80211_sub_if_data *sdata = local->ps_sdata; in ieee80211_dynamic_ps_enable_work()
789 if (local->hw.conf.flags & IEEE80211_CONF_PS) in ieee80211_dynamic_ps_enable_work()
792 if (!local->disable_dynamic_ps && in ieee80211_dynamic_ps_enable_work()
793 local->hw.conf.dynamic_ps_timeout > 0) { in ieee80211_dynamic_ps_enable_work()
795 if (drv_tx_frames_pending(local)) { in ieee80211_dynamic_ps_enable_work()
796 mod_timer(&local->dynamic_ps_timer, jiffies + in ieee80211_dynamic_ps_enable_work()
798 local->hw.conf.dynamic_ps_timeout)); in ieee80211_dynamic_ps_enable_work()
807 spin_lock_irqsave(&local->queue_stop_reason_lock, flags); in ieee80211_dynamic_ps_enable_work()
808 for (q = 0; q < local->hw.queues; q++) { in ieee80211_dynamic_ps_enable_work()
809 if (local->queue_stop_reasons[q]) { in ieee80211_dynamic_ps_enable_work()
810 spin_unlock_irqrestore(&local->queue_stop_reason_lock, in ieee80211_dynamic_ps_enable_work()
812 mod_timer(&local->dynamic_ps_timer, jiffies + in ieee80211_dynamic_ps_enable_work()
814 local->hw.conf.dynamic_ps_timeout)); in ieee80211_dynamic_ps_enable_work()
818 spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags); in ieee80211_dynamic_ps_enable_work()
821 if ((local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK) && in ieee80211_dynamic_ps_enable_work()
825 if (drv_tx_frames_pending(local)) in ieee80211_dynamic_ps_enable_work()
826 mod_timer(&local->dynamic_ps_timer, jiffies + in ieee80211_dynamic_ps_enable_work()
828 local->hw.conf.dynamic_ps_timeout)); in ieee80211_dynamic_ps_enable_work()
830 ieee80211_send_nullfunc(local, sdata, 1); in ieee80211_dynamic_ps_enable_work()
832 drv_flush(local, false); in ieee80211_dynamic_ps_enable_work()
836 if (!((local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS) && in ieee80211_dynamic_ps_enable_work()
837 (local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK)) || in ieee80211_dynamic_ps_enable_work()
840 local->hw.conf.flags |= IEEE80211_CONF_PS; in ieee80211_dynamic_ps_enable_work()
841 ieee80211_hw_config(local, IEEE80211_CONF_CHANGE_PS); in ieee80211_dynamic_ps_enable_work()
844 if (local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK) in ieee80211_dynamic_ps_enable_work()
850 struct ieee80211_local *local = (void *) data; in ieee80211_dynamic_ps_timer() local
852 if (local->quiescing || local->suspended) in ieee80211_dynamic_ps_timer()
855 ieee80211_queue_work(&local->hw, &local->dynamic_ps_enable_work); in ieee80211_dynamic_ps_timer()
859 static void ieee80211_sta_wmm_params(struct ieee80211_local *local, in ieee80211_sta_wmm_params() argument
869 if (!local->ops->conf_tx) in ieee80211_sta_wmm_params()
872 if (local->hw.queues < 4) in ieee80211_sta_wmm_params()
882 uapsd_queues = local->uapsd_queues; in ieee80211_sta_wmm_params()
894 local->wmm_acm = 0; in ieee80211_sta_wmm_params()
905 local->wmm_acm |= BIT(1) | BIT(2); /* BK/- */ in ieee80211_sta_wmm_params()
912 local->wmm_acm |= BIT(4) | BIT(5); /* CL/VI */ in ieee80211_sta_wmm_params()
919 local->wmm_acm |= BIT(6) | BIT(7); /* VO/NC */ in ieee80211_sta_wmm_params()
927 local->wmm_acm |= BIT(0) | BIT(3); /* BE/EE */ in ieee80211_sta_wmm_params()
940 wiphy_debug(local->hw.wiphy, in ieee80211_sta_wmm_params()
948 if (drv_conf_tx(local, sdata, queue, &params)) in ieee80211_sta_wmm_params()
949 wiphy_debug(local->hw.wiphy, in ieee80211_sta_wmm_params()
977 if (sdata->local->hw.conf.channel->band == IEEE80211_BAND_5GHZ) in ieee80211_handle_bss_capability()
1003 struct ieee80211_local *local = sdata->local; in ieee80211_set_associated() local
1027 ieee80211_led_assoc(local, 1); in ieee80211_set_associated()
1029 if (local->hw.flags & IEEE80211_HW_NEED_DTIM_PERIOD) in ieee80211_set_associated()
1046 if ((local->hw.flags & IEEE80211_HW_SUPPORTS_CQM_RSSI) && in ieee80211_set_associated()
1058 mutex_lock(&local->iflist_mtx); in ieee80211_set_associated()
1059 ieee80211_recalc_ps(local, -1); in ieee80211_set_associated()
1060 ieee80211_recalc_smps(local); in ieee80211_set_associated()
1061 mutex_unlock(&local->iflist_mtx); in ieee80211_set_associated()
1071 struct ieee80211_local *local = sdata->local; in ieee80211_set_disassoc() local
1103 mutex_lock(&local->sta_mtx); in ieee80211_set_disassoc()
1109 mutex_unlock(&local->sta_mtx); in ieee80211_set_disassoc()
1113 ieee80211_led_assoc(local, 0); in ieee80211_set_disassoc()
1120 WARN_ON(!ieee80211_set_channel_type(local, sdata, NL80211_CHAN_NO_HT)); in ieee80211_set_disassoc()
1127 local->power_constr_level = 0; in ieee80211_set_disassoc()
1129 del_timer_sync(&local->dynamic_ps_timer); in ieee80211_set_disassoc()
1130 cancel_work_sync(&local->dynamic_ps_enable_work); in ieee80211_set_disassoc()
1132 if (local->hw.conf.flags & IEEE80211_CONF_PS) { in ieee80211_set_disassoc()
1133 local->hw.conf.flags &= ~IEEE80211_CONF_PS; in ieee80211_set_disassoc()
1136 local->ps_sdata = NULL; in ieee80211_set_disassoc()
1138 ieee80211_hw_config(local, config_changed); in ieee80211_set_disassoc()
1152 sta_info_flush(local, sdata); in ieee80211_set_disassoc()
1187 mutex_lock(&sdata->local->iflist_mtx); in ieee80211_reset_ap_probe()
1188 ieee80211_recalc_ps(sdata->local, -1); in ieee80211_reset_ap_probe()
1189 mutex_unlock(&sdata->local->iflist_mtx); in ieee80211_reset_ap_probe()
1191 if (sdata->local->hw.flags & IEEE80211_HW_CONNECTION_MONITOR) in ieee80211_reset_ap_probe()
1221 ieee80211_queue_work(&sdata->local->hw, &sdata->work); in ieee80211_sta_tx_notify()
1247 if (sdata->local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS) { in ieee80211_mgd_probe_ap_send()
1249 ieee80211_send_nullfunc(sdata->local, sdata, 0); in ieee80211_mgd_probe_ap_send()
1270 if (sdata->local->scanning) in ieee80211_mgd_probe_ap()
1273 if (sdata->local->tmp_channel) in ieee80211_mgd_probe_ap()
1310 mutex_lock(&sdata->local->iflist_mtx); in ieee80211_mgd_probe_ap()
1311 ieee80211_recalc_ps(sdata->local, -1); in ieee80211_mgd_probe_ap()
1312 mutex_unlock(&sdata->local->iflist_mtx); in ieee80211_mgd_probe_ap()
1348 struct ieee80211_local *local = sdata->local; in __ieee80211_connection_loss() local
1374 mutex_lock(&local->mtx); in __ieee80211_connection_loss()
1375 ieee80211_recalc_idle(local); in __ieee80211_connection_loss()
1376 mutex_unlock(&local->mtx); in __ieee80211_connection_loss()
1395 if (sdata->local->hw.flags & IEEE80211_HW_CONNECTION_MONITOR) in ieee80211_beacon_connection_loss_work()
1404 struct ieee80211_hw *hw = &sdata->local->hw; in ieee80211_beacon_loss()
1416 struct ieee80211_hw *hw = &sdata->local->hw; in ieee80211_connection_loss()
1447 mutex_lock(&sdata->local->mtx); in ieee80211_rx_mgmt_deauth()
1448 ieee80211_recalc_idle(sdata->local); in ieee80211_rx_mgmt_deauth()
1449 mutex_unlock(&sdata->local->mtx); in ieee80211_rx_mgmt_deauth()
1479 mutex_lock(&sdata->local->mtx); in ieee80211_rx_mgmt_disassoc()
1480 ieee80211_recalc_idle(sdata->local); in ieee80211_rx_mgmt_disassoc()
1481 mutex_unlock(&sdata->local->mtx); in ieee80211_rx_mgmt_disassoc()
1532 struct ieee80211_local *local = sdata->local; in ieee80211_assoc_success() local
1579 mutex_lock(&sdata->local->sta_mtx); in ieee80211_assoc_success()
1586 mutex_unlock(&sdata->local->sta_mtx); in ieee80211_assoc_success()
1597 sband = local->hw.wiphy->bands[wk->chan->band]; in ieee80211_assoc_success()
1660 ieee80211_sta_wmm_params(local, sdata, elems.wmm_param, in ieee80211_assoc_success()
1665 local->oper_channel = wk->chan; in ieee80211_assoc_success()
1668 (sdata->local->hw.queues >= 4) && in ieee80211_assoc_success()
1685 ieee80211_send_4addr_nullfunc(local, sdata); in ieee80211_assoc_success()
1705 struct ieee80211_local *local = sdata->local; in ieee80211_rx_bss_info() local
1723 channel = ieee80211_get_channel(local->hw.wiphy, freq); in ieee80211_rx_bss_info()
1728 bss = ieee80211_bss_info_update(local, rx_status, mgmt, len, elems, in ieee80211_rx_bss_info()
1731 ieee80211_rx_bss_put(local, bss); in ieee80211_rx_bss_info()
1737 mutex_lock(&local->iflist_mtx); in ieee80211_rx_bss_info()
1738 ieee80211_recalc_ps(local, -1); in ieee80211_rx_bss_info()
1739 mutex_unlock(&local->iflist_mtx); in ieee80211_rx_bss_info()
1813 struct ieee80211_local *local = sdata->local; in ieee80211_rx_mgmt_beacon() local
1827 if (rx_status->freq != local->hw.conf.channel->center_freq) in ieee80211_rx_mgmt_beacon()
1874 drv_rssi_callback(local, RSSI_EVENT_HIGH); in ieee80211_rx_mgmt_beacon()
1879 drv_rssi_callback(local, RSSI_EVENT_LOW); in ieee80211_rx_mgmt_beacon()
1885 !(local->hw.flags & IEEE80211_HW_SUPPORTS_CQM_RSSI)) { in ieee80211_rx_mgmt_beacon()
1915 mutex_lock(&local->iflist_mtx); in ieee80211_rx_mgmt_beacon()
1916 ieee80211_recalc_ps(local, -1); in ieee80211_rx_mgmt_beacon()
1917 mutex_unlock(&local->iflist_mtx); in ieee80211_rx_mgmt_beacon()
1931 if (local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK) in ieee80211_rx_mgmt_beacon()
1939 ieee80211_sta_wmm_params(local, sdata, elems.wmm_param, in ieee80211_rx_mgmt_beacon()
1943 if (local->hw.flags & IEEE80211_HW_PS_NULLFUNC_STACK) { in ieee80211_rx_mgmt_beacon()
1945 if (local->hw.conf.dynamic_ps_timeout > 0) { in ieee80211_rx_mgmt_beacon()
1946 local->hw.conf.flags &= ~IEEE80211_CONF_PS; in ieee80211_rx_mgmt_beacon()
1947 ieee80211_hw_config(local, in ieee80211_rx_mgmt_beacon()
1949 ieee80211_send_nullfunc(local, sdata, 0); in ieee80211_rx_mgmt_beacon()
1951 local->pspolling = true; in ieee80211_rx_mgmt_beacon()
1961 ieee80211_send_pspoll(local, sdata); in ieee80211_rx_mgmt_beacon()
1996 sband = local->hw.wiphy->bands[local->hw.conf.channel->band]; in ieee80211_rx_mgmt_beacon()
2085 struct ieee80211_local *local = sdata->local; in ieee80211_sta_rx_queued_mgmt() local
2088 mutex_lock(&local->mtx); in ieee80211_sta_rx_queued_mgmt()
2089 list_for_each_entry(wk, &local->work_list, list) { in ieee80211_sta_rx_queued_mgmt()
2120 mutex_unlock(&local->mtx); in ieee80211_sta_rx_queued_mgmt()
2131 struct ieee80211_local *local = sdata->local; in ieee80211_sta_timer() local
2133 if (local->quiescing) { in ieee80211_sta_timer()
2138 ieee80211_queue_work(&local->hw, &sdata->work); in ieee80211_sta_timer()
2144 struct ieee80211_local *local = sdata->local; in ieee80211_sta_connection_lost() local
2160 mutex_lock(&local->mtx); in ieee80211_sta_connection_lost()
2161 ieee80211_recalc_idle(local); in ieee80211_sta_connection_lost()
2162 mutex_unlock(&local->mtx); in ieee80211_sta_connection_lost()
2169 struct ieee80211_local *local = sdata->local; in ieee80211_sta_work() local
2183 if (local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS) in ieee80211_sta_work()
2194 wiphy_debug(local->hw.wiphy, in ieee80211_sta_work()
2203 wiphy_debug(local->hw.wiphy, in ieee80211_sta_work()
2213 else if (local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS) { in ieee80211_sta_work()
2215 wiphy_debug(local->hw.wiphy, in ieee80211_sta_work()
2225 wiphy_debug(local->hw.wiphy, in ieee80211_sta_work()
2238 wiphy_debug(local->hw.wiphy, in ieee80211_sta_work()
2256 struct ieee80211_local *local = sdata->local; in ieee80211_sta_bcn_mon_timer() local
2258 if (local->quiescing) in ieee80211_sta_bcn_mon_timer()
2261 ieee80211_queue_work(&sdata->local->hw, in ieee80211_sta_bcn_mon_timer()
2270 struct ieee80211_local *local = sdata->local; in ieee80211_sta_conn_mon_timer() local
2272 if (local->quiescing) in ieee80211_sta_conn_mon_timer()
2275 ieee80211_queue_work(&local->hw, &ifmgd->monitor_work); in ieee80211_sta_conn_mon_timer()
2294 ieee80211_queue_work(&sdata->local->hw, in ieee80211_restart_sta_timer()
2297 ieee80211_queue_work(&sdata->local->hw, &sdata->work); in ieee80211_restart_sta_timer()
2340 wiphy_debug(sdata->local->hw.wiphy, in ieee80211_sta_restart()
2359 ieee80211_queue_work(&sdata->local->hw, &sdata->u.mgd.monitor_work); in ieee80211_sta_restart()
2388 if (sdata->local->hw.flags & IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS) in ieee80211_sta_setup_sdata()
2395 void ieee80211_mlme_notify_scan_completed(struct ieee80211_local *local) in ieee80211_mlme_notify_scan_completed() argument
2397 struct ieee80211_sub_if_data *sdata = local->scan_sdata; in ieee80211_mlme_notify_scan_completed()
2401 list_for_each_entry_rcu(sdata, &local->interfaces, list) in ieee80211_mlme_notify_scan_completed()
2410 struct ieee80211_local *local = in ieee80211_max_network_latency() local
2414 mutex_lock(&local->iflist_mtx); in ieee80211_max_network_latency()
2415 ieee80211_recalc_ps(local, latency_usec); in ieee80211_max_network_latency()
2416 mutex_unlock(&local->iflist_mtx); in ieee80211_max_network_latency()
2426 struct ieee80211_local *local = wk->sdata->local; in ieee80211_probe_auth_done() local
2447 drv_finish_tx_sync(local, wk->sdata, wk->filter_ta, in ieee80211_probe_auth_done()
2468 if (IS_ERR(sdata->local->wep_tx_tfm)) in ieee80211_mgd_auth()
2546 struct ieee80211_local *local = wk->sdata->local; in ieee80211_assoc_done() local
2577 drv_finish_tx_sync(local, wk->sdata, wk->filter_ta, in ieee80211_assoc_done()
2599 drv_finish_tx_sync(local, wk->sdata, wk->filter_ta, in ieee80211_assoc_done()
2702 (sdata->local->hw.flags & IEEE80211_HW_SUPPORTS_UAPSD)) { in ieee80211_mgd_assoc()
2722 sdata->local->hw.flags & IEEE80211_HW_NEED_DTIM_PERIOD) in ieee80211_mgd_assoc()
2751 struct ieee80211_local *local = sdata->local; in ieee80211_mgd_deauth() local
2769 mutex_lock(&local->mtx); in ieee80211_mgd_deauth()
2770 list_for_each_entry(tmp, &local->work_list, list) { in ieee80211_mgd_deauth()
2789 mutex_unlock(&local->mtx); in ieee80211_mgd_deauth()
2795 drv_finish_tx_sync(local, wk->sdata, in ieee80211_mgd_deauth()
2800 drv_finish_tx_sync(local, wk->sdata, in ieee80211_mgd_deauth()
2820 printk(KERN_DEBUG "%s: deauthenticating from %pM by local choice (reason=%d)\n", in ieee80211_mgd_deauth()
2827 sta_info_flush(sdata->local, sdata); in ieee80211_mgd_deauth()
2829 mutex_lock(&sdata->local->mtx); in ieee80211_mgd_deauth()
2830 ieee80211_recalc_idle(sdata->local); in ieee80211_mgd_deauth()
2831 mutex_unlock(&sdata->local->mtx); in ieee80211_mgd_deauth()
2856 printk(KERN_DEBUG "%s: disassociating from %pM by local choice (reason=%d)\n", in ieee80211_mgd_disassoc()
2867 sta_info_flush(sdata->local, sdata); in ieee80211_mgd_disassoc()
2869 mutex_lock(&sdata->local->mtx); in ieee80211_mgd_disassoc()
2870 ieee80211_recalc_idle(sdata->local); in ieee80211_mgd_disassoc()
2871 mutex_unlock(&sdata->local->mtx); in ieee80211_mgd_disassoc()