Lines Matching refs:beacon

4794 					struct beacon_data *beacon)  in ieee80211_set_beacon_cntdwn()  argument
4804 beacon_data = beacon->tail; in ieee80211_set_beacon_cntdwn()
4805 beacon_data_len = beacon->tail_len; in ieee80211_set_beacon_cntdwn()
4808 beacon_data = beacon->head; in ieee80211_set_beacon_cntdwn()
4809 beacon_data_len = beacon->head_len; in ieee80211_set_beacon_cntdwn()
4812 beacon_data = beacon->head; in ieee80211_set_beacon_cntdwn()
4813 beacon_data_len = beacon->head_len; in ieee80211_set_beacon_cntdwn()
4822 bcn_offsets = beacon->cntdwn_counter_offsets; in ieee80211_set_beacon_cntdwn()
4823 count = beacon->cntdwn_current_counter; in ieee80211_set_beacon_cntdwn()
4845 static u8 __ieee80211_beacon_update_cntdwn(struct beacon_data *beacon) in __ieee80211_beacon_update_cntdwn() argument
4847 beacon->cntdwn_current_counter--; in __ieee80211_beacon_update_cntdwn()
4850 WARN_ON_ONCE(!beacon->cntdwn_current_counter); in __ieee80211_beacon_update_cntdwn()
4852 return beacon->cntdwn_current_counter; in __ieee80211_beacon_update_cntdwn()
4858 struct beacon_data *beacon = NULL; in ieee80211_beacon_update_cntdwn() local
4864 beacon = rcu_dereference(sdata->u.ap.beacon); in ieee80211_beacon_update_cntdwn()
4866 beacon = rcu_dereference(sdata->u.ibss.presp); in ieee80211_beacon_update_cntdwn()
4868 beacon = rcu_dereference(sdata->u.mesh.beacon); in ieee80211_beacon_update_cntdwn()
4870 if (!beacon) in ieee80211_beacon_update_cntdwn()
4873 count = __ieee80211_beacon_update_cntdwn(beacon); in ieee80211_beacon_update_cntdwn()
4884 struct beacon_data *beacon = NULL; in ieee80211_beacon_set_cntdwn() local
4889 beacon = rcu_dereference(sdata->u.ap.beacon); in ieee80211_beacon_set_cntdwn()
4891 beacon = rcu_dereference(sdata->u.ibss.presp); in ieee80211_beacon_set_cntdwn()
4893 beacon = rcu_dereference(sdata->u.mesh.beacon); in ieee80211_beacon_set_cntdwn()
4895 if (!beacon) in ieee80211_beacon_set_cntdwn()
4898 if (counter < beacon->cntdwn_current_counter) in ieee80211_beacon_set_cntdwn()
4899 beacon->cntdwn_current_counter = counter; in ieee80211_beacon_set_cntdwn()
4909 struct beacon_data *beacon = NULL; in ieee80211_beacon_cntdwn_is_complete() local
4921 beacon = rcu_dereference(ap->beacon); in ieee80211_beacon_cntdwn_is_complete()
4922 if (WARN_ON(!beacon || !beacon->tail)) in ieee80211_beacon_cntdwn_is_complete()
4924 beacon_data = beacon->tail; in ieee80211_beacon_cntdwn_is_complete()
4925 beacon_data_len = beacon->tail_len; in ieee80211_beacon_cntdwn_is_complete()
4929 beacon = rcu_dereference(ifibss->presp); in ieee80211_beacon_cntdwn_is_complete()
4930 if (!beacon) in ieee80211_beacon_cntdwn_is_complete()
4933 beacon_data = beacon->head; in ieee80211_beacon_cntdwn_is_complete()
4934 beacon_data_len = beacon->head_len; in ieee80211_beacon_cntdwn_is_complete()
4938 beacon = rcu_dereference(ifmsh->beacon); in ieee80211_beacon_cntdwn_is_complete()
4939 if (!beacon) in ieee80211_beacon_cntdwn_is_complete()
4942 beacon_data = beacon->head; in ieee80211_beacon_cntdwn_is_complete()
4943 beacon_data_len = beacon->head_len; in ieee80211_beacon_cntdwn_is_complete()
4949 if (!beacon->cntdwn_counter_offsets[0]) in ieee80211_beacon_cntdwn_is_complete()
4952 if (WARN_ON_ONCE(beacon->cntdwn_counter_offsets[0] > beacon_data_len)) in ieee80211_beacon_cntdwn_is_complete()
4955 if (beacon_data[beacon->cntdwn_counter_offsets[0]] == 1) in ieee80211_beacon_cntdwn_is_complete()
4995 struct beacon_data *beacon, in ieee80211_beacon_get_finish() argument
5007 if (offs && beacon) { in ieee80211_beacon_get_finish()
5011 u16 csa_off = beacon->cntdwn_counter_offsets[i]; in ieee80211_beacon_get_finish()
5050 struct beacon_data *beacon, in ieee80211_beacon_get_ap() argument
5059 if (beacon->cntdwn_counter_offsets[0]) { in ieee80211_beacon_get_ap()
5063 ieee80211_set_beacon_cntdwn(sdata, beacon); in ieee80211_beacon_get_ap()
5069 skb = dev_alloc_skb(local->tx_headroom + beacon->head_len + in ieee80211_beacon_get_ap()
5070 beacon->tail_len + 256 + in ieee80211_beacon_get_ap()
5076 skb_put_data(skb, beacon->head, beacon->head_len); in ieee80211_beacon_get_ap()
5081 offs->tim_offset = beacon->head_len; in ieee80211_beacon_get_ap()
5082 offs->tim_length = skb->len - beacon->head_len; in ieee80211_beacon_get_ap()
5083 offs->cntdwn_counter_offs[0] = beacon->cntdwn_counter_offsets[0]; in ieee80211_beacon_get_ap()
5089 if (beacon->tail) in ieee80211_beacon_get_ap()
5090 skb_put_data(skb, beacon->tail, beacon->tail_len); in ieee80211_beacon_get_ap()
5095 ieee80211_beacon_get_finish(hw, vif, offs, beacon, skb, chanctx_conf, in ieee80211_beacon_get_ap()
5107 struct beacon_data *beacon = NULL; in __ieee80211_beacon_get() local
5126 beacon = rcu_dereference(ap->beacon); in __ieee80211_beacon_get()
5127 if (!beacon) in __ieee80211_beacon_get()
5131 beacon, chanctx_conf); in __ieee80211_beacon_get()
5136 beacon = rcu_dereference(ifibss->presp); in __ieee80211_beacon_get()
5137 if (!beacon) in __ieee80211_beacon_get()
5140 if (beacon->cntdwn_counter_offsets[0]) { in __ieee80211_beacon_get()
5142 __ieee80211_beacon_update_cntdwn(beacon); in __ieee80211_beacon_get()
5144 ieee80211_set_beacon_cntdwn(sdata, beacon); in __ieee80211_beacon_get()
5147 skb = dev_alloc_skb(local->tx_headroom + beacon->head_len + in __ieee80211_beacon_get()
5152 skb_put_data(skb, beacon->head, beacon->head_len); in __ieee80211_beacon_get()
5158 ieee80211_beacon_get_finish(hw, vif, offs, beacon, skb, in __ieee80211_beacon_get()
5163 beacon = rcu_dereference(ifmsh->beacon); in __ieee80211_beacon_get()
5164 if (!beacon) in __ieee80211_beacon_get()
5167 if (beacon->cntdwn_counter_offsets[0]) { in __ieee80211_beacon_get()
5174 __ieee80211_beacon_update_cntdwn(beacon); in __ieee80211_beacon_get()
5176 ieee80211_set_beacon_cntdwn(sdata, beacon); in __ieee80211_beacon_get()
5180 ifmsh->sync_ops->adjust_tsf(sdata, beacon); in __ieee80211_beacon_get()
5183 beacon->head_len + in __ieee80211_beacon_get()
5185 beacon->tail_len + in __ieee80211_beacon_get()
5190 skb_put_data(skb, beacon->head, beacon->head_len); in __ieee80211_beacon_get()
5194 offs->tim_offset = beacon->head_len; in __ieee80211_beacon_get()
5195 offs->tim_length = skb->len - beacon->head_len; in __ieee80211_beacon_get()
5198 skb_put_data(skb, beacon->tail, beacon->tail_len); in __ieee80211_beacon_get()
5199 ieee80211_beacon_get_finish(hw, vif, offs, beacon, skb, in __ieee80211_beacon_get()
5538 struct beacon_data *beacon = in ieee80211_get_buffered_bc() local
5539 rcu_dereference(sdata->u.ap.beacon); in ieee80211_get_buffered_bc()
5541 if (!beacon || !beacon->head) in ieee80211_get_buffered_bc()