Lines Matching refs:beacon

4042 			      struct beacon_data *beacon)  in ieee80211_set_csa()  argument
4048 u8 count = beacon->csa_current_counter; in ieee80211_set_csa()
4052 beacon_data = beacon->tail; in ieee80211_set_csa()
4053 beacon_data_len = beacon->tail_len; in ieee80211_set_csa()
4056 beacon_data = beacon->head; in ieee80211_set_csa()
4057 beacon_data_len = beacon->head_len; in ieee80211_set_csa()
4060 beacon_data = beacon->head; in ieee80211_set_csa()
4061 beacon_data_len = beacon->head_len; in ieee80211_set_csa()
4071 if (beacon->csa_counter_offsets[i]) { in ieee80211_set_csa()
4072 if (WARN_ON_ONCE(beacon->csa_counter_offsets[i] >= in ieee80211_set_csa()
4078 beacon_data[beacon->csa_counter_offsets[i]] = count; in ieee80211_set_csa()
4087 static u8 __ieee80211_csa_update_counter(struct beacon_data *beacon) in __ieee80211_csa_update_counter() argument
4089 beacon->csa_current_counter--; in __ieee80211_csa_update_counter()
4092 WARN_ON_ONCE(!beacon->csa_current_counter); in __ieee80211_csa_update_counter()
4094 return beacon->csa_current_counter; in __ieee80211_csa_update_counter()
4100 struct beacon_data *beacon = NULL; in ieee80211_csa_update_counter() local
4106 beacon = rcu_dereference(sdata->u.ap.beacon); in ieee80211_csa_update_counter()
4108 beacon = rcu_dereference(sdata->u.ibss.presp); in ieee80211_csa_update_counter()
4110 beacon = rcu_dereference(sdata->u.mesh.beacon); in ieee80211_csa_update_counter()
4112 if (!beacon) in ieee80211_csa_update_counter()
4115 count = __ieee80211_csa_update_counter(beacon); in ieee80211_csa_update_counter()
4126 struct beacon_data *beacon = NULL; in ieee80211_csa_set_counter() local
4131 beacon = rcu_dereference(sdata->u.ap.beacon); in ieee80211_csa_set_counter()
4133 beacon = rcu_dereference(sdata->u.ibss.presp); in ieee80211_csa_set_counter()
4135 beacon = rcu_dereference(sdata->u.mesh.beacon); in ieee80211_csa_set_counter()
4137 if (!beacon) in ieee80211_csa_set_counter()
4140 if (counter < beacon->csa_current_counter) in ieee80211_csa_set_counter()
4141 beacon->csa_current_counter = counter; in ieee80211_csa_set_counter()
4151 struct beacon_data *beacon = NULL; in ieee80211_csa_is_complete() local
4163 beacon = rcu_dereference(ap->beacon); in ieee80211_csa_is_complete()
4164 if (WARN_ON(!beacon || !beacon->tail)) in ieee80211_csa_is_complete()
4166 beacon_data = beacon->tail; in ieee80211_csa_is_complete()
4167 beacon_data_len = beacon->tail_len; in ieee80211_csa_is_complete()
4171 beacon = rcu_dereference(ifibss->presp); in ieee80211_csa_is_complete()
4172 if (!beacon) in ieee80211_csa_is_complete()
4175 beacon_data = beacon->head; in ieee80211_csa_is_complete()
4176 beacon_data_len = beacon->head_len; in ieee80211_csa_is_complete()
4180 beacon = rcu_dereference(ifmsh->beacon); in ieee80211_csa_is_complete()
4181 if (!beacon) in ieee80211_csa_is_complete()
4184 beacon_data = beacon->head; in ieee80211_csa_is_complete()
4185 beacon_data_len = beacon->head_len; in ieee80211_csa_is_complete()
4191 if (!beacon->csa_counter_offsets[0]) in ieee80211_csa_is_complete()
4194 if (WARN_ON_ONCE(beacon->csa_counter_offsets[0] > beacon_data_len)) in ieee80211_csa_is_complete()
4197 if (beacon_data[beacon->csa_counter_offsets[0]] == 1) in ieee80211_csa_is_complete()
4213 struct beacon_data *beacon = NULL; in __ieee80211_beacon_get() local
4236 beacon = rcu_dereference(ap->beacon); in __ieee80211_beacon_get()
4237 if (beacon) { in __ieee80211_beacon_get()
4238 if (beacon->csa_counter_offsets[0]) { in __ieee80211_beacon_get()
4240 __ieee80211_csa_update_counter(beacon); in __ieee80211_beacon_get()
4242 ieee80211_set_csa(sdata, beacon); in __ieee80211_beacon_get()
4250 beacon->head_len + in __ieee80211_beacon_get()
4251 beacon->tail_len + 256 + in __ieee80211_beacon_get()
4257 skb_put_data(skb, beacon->head, beacon->head_len); in __ieee80211_beacon_get()
4263 offs->tim_offset = beacon->head_len; in __ieee80211_beacon_get()
4264 offs->tim_length = skb->len - beacon->head_len; in __ieee80211_beacon_get()
4270 if (beacon->tail) in __ieee80211_beacon_get()
4271 skb_put_data(skb, beacon->tail, in __ieee80211_beacon_get()
4272 beacon->tail_len); in __ieee80211_beacon_get()
4279 beacon = rcu_dereference(ifibss->presp); in __ieee80211_beacon_get()
4280 if (!beacon) in __ieee80211_beacon_get()
4283 if (beacon->csa_counter_offsets[0]) { in __ieee80211_beacon_get()
4285 __ieee80211_csa_update_counter(beacon); in __ieee80211_beacon_get()
4287 ieee80211_set_csa(sdata, beacon); in __ieee80211_beacon_get()
4290 skb = dev_alloc_skb(local->tx_headroom + beacon->head_len + in __ieee80211_beacon_get()
4295 skb_put_data(skb, beacon->head, beacon->head_len); in __ieee80211_beacon_get()
4303 beacon = rcu_dereference(ifmsh->beacon); in __ieee80211_beacon_get()
4304 if (!beacon) in __ieee80211_beacon_get()
4307 if (beacon->csa_counter_offsets[0]) { in __ieee80211_beacon_get()
4314 __ieee80211_csa_update_counter(beacon); in __ieee80211_beacon_get()
4316 ieee80211_set_csa(sdata, beacon); in __ieee80211_beacon_get()
4320 ifmsh->sync_ops->adjust_tsf(sdata, beacon); in __ieee80211_beacon_get()
4323 beacon->head_len + in __ieee80211_beacon_get()
4325 beacon->tail_len + in __ieee80211_beacon_get()
4330 skb_put_data(skb, beacon->head, beacon->head_len); in __ieee80211_beacon_get()
4334 offs->tim_offset = beacon->head_len; in __ieee80211_beacon_get()
4335 offs->tim_length = skb->len - beacon->head_len; in __ieee80211_beacon_get()
4338 skb_put_data(skb, beacon->tail, beacon->tail_len); in __ieee80211_beacon_get()
4345 if (offs && beacon) { in __ieee80211_beacon_get()
4349 u16 csa_off = beacon->csa_counter_offsets[i]; in __ieee80211_beacon_get()
4655 struct beacon_data *beacon = in ieee80211_get_buffered_bc() local
4656 rcu_dereference(sdata->u.ap.beacon); in ieee80211_get_buffered_bc()
4658 if (!beacon || !beacon->head) in ieee80211_get_buffered_bc()