Lines Matching refs:local

27 	struct ieee80211_local *local = hw_to_local(hw);  in ieee80211_tx_status_irqsafe()  local
33 &local->skb_queue : &local->skb_queue_unreliable, skb); in ieee80211_tx_status_irqsafe()
34 tmp = skb_queue_len(&local->skb_queue) + in ieee80211_tx_status_irqsafe()
35 skb_queue_len(&local->skb_queue_unreliable); in ieee80211_tx_status_irqsafe()
37 (skb = skb_dequeue(&local->skb_queue_unreliable))) { in ieee80211_tx_status_irqsafe()
40 I802_DEBUG_INC(local->tx_status_drop); in ieee80211_tx_status_irqsafe()
42 tasklet_schedule(&local->tasklet); in ieee80211_tx_status_irqsafe()
46 static void ieee80211_handle_filtered_frame(struct ieee80211_local *local, in ieee80211_handle_filtered_frame() argument
144 if (!timer_pending(&local->sta_cleanup)) in ieee80211_handle_filtered_frame()
145 mod_timer(&local->sta_cleanup, in ieee80211_handle_filtered_frame()
155 ieee80211_add_pending_skb(local, skb); in ieee80211_handle_filtered_frame()
163 ieee80211_free_txskb(&local->hw, skb); in ieee80211_handle_filtered_frame()
181 struct ieee80211_local *local = sta->local; in ieee80211_frame_acked() local
184 if (local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS) in ieee80211_frame_acked()
223 ieee80211_queue_work(&local->hw, &sdata->recalc_smps); in ieee80211_frame_acked()
272 ieee80211_add_tx_radiotap_header(struct ieee80211_local *local, in ieee80211_add_tx_radiotap_header() argument
349 u16 known = local->hw.radiotap_vht_details & in ieee80211_add_tx_radiotap_header()
396 static void ieee80211_tdls_td_tx_handle(struct ieee80211_local *local, in ieee80211_tdls_td_tx_handle() argument
417 WARN_ON(!(local->hw.flags & in ieee80211_tdls_td_tx_handle()
432 static void ieee80211_report_used_skb(struct ieee80211_local *local, in ieee80211_report_used_skb() argument
451 list_for_each_entry_rcu(iter_sdata, &local->interfaces, in ieee80211_report_used_skb()
462 sdata = rcu_dereference(local->p2p_sdata); in ieee80211_report_used_skb()
475 ieee80211_tdls_td_tx_handle(local, sdata, skb, in ieee80211_report_used_skb()
497 spin_lock_irqsave(&local->ack_status_lock, flags); in ieee80211_report_used_skb()
498 ack_skb = idr_find(&local->ack_status_frames, in ieee80211_report_used_skb()
501 idr_remove(&local->ack_status_frames, in ieee80211_report_used_skb()
503 spin_unlock_irqrestore(&local->ack_status_lock, flags); in ieee80211_report_used_skb()
595 struct ieee80211_local *local = hw_to_local(hw); in ieee80211_tx_status_noskb() local
630 rate_control_tx_status_noskb(local, sband, sta, info); in ieee80211_tx_status_noskb()
634 local->dot11TransmittedFrameCount++; in ieee80211_tx_status_noskb()
636 local->dot11MulticastTransmittedFrameCount++; in ieee80211_tx_status_noskb()
638 local->dot11RetryCount++; in ieee80211_tx_status_noskb()
640 local->dot11MultipleRetryCount++; in ieee80211_tx_status_noskb()
642 local->dot11FailedCount++; in ieee80211_tx_status_noskb()
651 struct ieee80211_local *local = hw_to_local(hw); in ieee80211_tx_status() local
673 sband = local->hw.wiphy->bands[info->band]; in ieee80211_tx_status()
676 tbl = rht_dereference_rcu(local->sta_hash.tbl, &local->sta_hash); in ieee80211_tx_status()
678 for_each_sta_info(local, tbl, hdr->addr1, sta, tmp) { in ieee80211_tx_status()
694 ieee80211_handle_filtered_frame(local, sta, skb); in ieee80211_tx_status()
706 if ((local->hw.flags & IEEE80211_HW_HAS_RATE_CONTROL) && in ieee80211_tx_status()
750 ieee80211_handle_filtered_frame(local, sta, skb); in ieee80211_tx_status()
765 rate_control_tx_status(local, sband, sta, skb); in ieee80211_tx_status()
767 ieee80211s_update_metric(local, sta, skb); in ieee80211_tx_status()
773 (local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS)) in ieee80211_tx_status()
777 if (local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS) { in ieee80211_tx_status()
796 ieee80211_led_tx(local); in ieee80211_tx_status()
805 local->dot11TransmittedFrameCount++; in ieee80211_tx_status()
807 local->dot11MulticastTransmittedFrameCount++; in ieee80211_tx_status()
809 local->dot11RetryCount++; in ieee80211_tx_status()
811 local->dot11MultipleRetryCount++; in ieee80211_tx_status()
821 local->dot11TransmittedFragmentCount++; in ieee80211_tx_status()
824 local->dot11FailedCount++; in ieee80211_tx_status()
828 (local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS) && in ieee80211_tx_status()
830 local->ps_sdata && !(local->scanning)) { in ieee80211_tx_status()
832 local->ps_sdata->u.mgd.flags |= in ieee80211_tx_status()
835 mod_timer(&local->dynamic_ps_timer, jiffies + in ieee80211_tx_status()
839 ieee80211_report_used_skb(local, skb, false); in ieee80211_tx_status()
852 if (!local->monitors && (!send_to_cooked || !local->cooked_mntrs)) { in ieee80211_tx_status()
864 ieee80211_add_tx_radiotap_header(local, sband, skb, retry_count, in ieee80211_tx_status()
875 list_for_each_entry_rcu(sdata, &local->interfaces, list) { in ieee80211_tx_status()
915 struct ieee80211_local *local = hw_to_local(hw); in ieee80211_free_txskb() local
917 ieee80211_report_used_skb(local, skb, true); in ieee80211_free_txskb()