Lines Matching refs:beacon

3176 			      struct beacon_data *beacon)  in ieee80211_set_csa()  argument
3182 u8 count = beacon->csa_current_counter; in ieee80211_set_csa()
3186 beacon_data = beacon->tail; in ieee80211_set_csa()
3187 beacon_data_len = beacon->tail_len; in ieee80211_set_csa()
3190 beacon_data = beacon->head; in ieee80211_set_csa()
3191 beacon_data_len = beacon->head_len; in ieee80211_set_csa()
3194 beacon_data = beacon->head; in ieee80211_set_csa()
3195 beacon_data_len = beacon->head_len; in ieee80211_set_csa()
3205 if (beacon->csa_counter_offsets[i]) { in ieee80211_set_csa()
3206 if (WARN_ON_ONCE(beacon->csa_counter_offsets[i] >= in ieee80211_set_csa()
3212 beacon_data[beacon->csa_counter_offsets[i]] = count; in ieee80211_set_csa()
3221 static u8 __ieee80211_csa_update_counter(struct beacon_data *beacon) in __ieee80211_csa_update_counter() argument
3223 beacon->csa_current_counter--; in __ieee80211_csa_update_counter()
3226 WARN_ON_ONCE(!beacon->csa_current_counter); in __ieee80211_csa_update_counter()
3228 return beacon->csa_current_counter; in __ieee80211_csa_update_counter()
3234 struct beacon_data *beacon = NULL; in ieee80211_csa_update_counter() local
3240 beacon = rcu_dereference(sdata->u.ap.beacon); in ieee80211_csa_update_counter()
3242 beacon = rcu_dereference(sdata->u.ibss.presp); in ieee80211_csa_update_counter()
3244 beacon = rcu_dereference(sdata->u.mesh.beacon); in ieee80211_csa_update_counter()
3246 if (!beacon) in ieee80211_csa_update_counter()
3249 count = __ieee80211_csa_update_counter(beacon); in ieee80211_csa_update_counter()
3260 struct beacon_data *beacon = NULL; in ieee80211_csa_is_complete() local
3272 beacon = rcu_dereference(ap->beacon); in ieee80211_csa_is_complete()
3273 if (WARN_ON(!beacon || !beacon->tail)) in ieee80211_csa_is_complete()
3275 beacon_data = beacon->tail; in ieee80211_csa_is_complete()
3276 beacon_data_len = beacon->tail_len; in ieee80211_csa_is_complete()
3280 beacon = rcu_dereference(ifibss->presp); in ieee80211_csa_is_complete()
3281 if (!beacon) in ieee80211_csa_is_complete()
3284 beacon_data = beacon->head; in ieee80211_csa_is_complete()
3285 beacon_data_len = beacon->head_len; in ieee80211_csa_is_complete()
3289 beacon = rcu_dereference(ifmsh->beacon); in ieee80211_csa_is_complete()
3290 if (!beacon) in ieee80211_csa_is_complete()
3293 beacon_data = beacon->head; in ieee80211_csa_is_complete()
3294 beacon_data_len = beacon->head_len; in ieee80211_csa_is_complete()
3300 if (!beacon->csa_counter_offsets[0]) in ieee80211_csa_is_complete()
3303 if (WARN_ON_ONCE(beacon->csa_counter_offsets[0] > beacon_data_len)) in ieee80211_csa_is_complete()
3306 if (beacon_data[beacon->csa_counter_offsets[0]] == 1) in ieee80211_csa_is_complete()
3322 struct beacon_data *beacon = NULL; in __ieee80211_beacon_get() local
3345 beacon = rcu_dereference(ap->beacon); in __ieee80211_beacon_get()
3346 if (beacon) { in __ieee80211_beacon_get()
3347 if (beacon->csa_counter_offsets[0]) { in __ieee80211_beacon_get()
3349 __ieee80211_csa_update_counter(beacon); in __ieee80211_beacon_get()
3351 ieee80211_set_csa(sdata, beacon); in __ieee80211_beacon_get()
3359 beacon->head_len + in __ieee80211_beacon_get()
3360 beacon->tail_len + 256 + in __ieee80211_beacon_get()
3366 memcpy(skb_put(skb, beacon->head_len), beacon->head, in __ieee80211_beacon_get()
3367 beacon->head_len); in __ieee80211_beacon_get()
3373 offs->tim_offset = beacon->head_len; in __ieee80211_beacon_get()
3374 offs->tim_length = skb->len - beacon->head_len; in __ieee80211_beacon_get()
3380 if (beacon->tail) in __ieee80211_beacon_get()
3381 memcpy(skb_put(skb, beacon->tail_len), in __ieee80211_beacon_get()
3382 beacon->tail, beacon->tail_len); in __ieee80211_beacon_get()
3389 beacon = rcu_dereference(ifibss->presp); in __ieee80211_beacon_get()
3390 if (!beacon) in __ieee80211_beacon_get()
3393 if (beacon->csa_counter_offsets[0]) { in __ieee80211_beacon_get()
3395 __ieee80211_csa_update_counter(beacon); in __ieee80211_beacon_get()
3397 ieee80211_set_csa(sdata, beacon); in __ieee80211_beacon_get()
3400 skb = dev_alloc_skb(local->tx_headroom + beacon->head_len + in __ieee80211_beacon_get()
3405 memcpy(skb_put(skb, beacon->head_len), beacon->head, in __ieee80211_beacon_get()
3406 beacon->head_len); in __ieee80211_beacon_get()
3414 beacon = rcu_dereference(ifmsh->beacon); in __ieee80211_beacon_get()
3415 if (!beacon) in __ieee80211_beacon_get()
3418 if (beacon->csa_counter_offsets[0]) { in __ieee80211_beacon_get()
3425 __ieee80211_csa_update_counter(beacon); in __ieee80211_beacon_get()
3427 ieee80211_set_csa(sdata, beacon); in __ieee80211_beacon_get()
3431 ifmsh->sync_ops->adjust_tbtt(sdata, beacon); in __ieee80211_beacon_get()
3434 beacon->head_len + in __ieee80211_beacon_get()
3436 beacon->tail_len + in __ieee80211_beacon_get()
3441 memcpy(skb_put(skb, beacon->head_len), beacon->head, in __ieee80211_beacon_get()
3442 beacon->head_len); in __ieee80211_beacon_get()
3446 offs->tim_offset = beacon->head_len; in __ieee80211_beacon_get()
3447 offs->tim_length = skb->len - beacon->head_len; in __ieee80211_beacon_get()
3450 memcpy(skb_put(skb, beacon->tail_len), beacon->tail, in __ieee80211_beacon_get()
3451 beacon->tail_len); in __ieee80211_beacon_get()
3458 if (offs && beacon) { in __ieee80211_beacon_get()
3462 u16 csa_off = beacon->csa_counter_offsets[i]; in __ieee80211_beacon_get()
3748 struct beacon_data *beacon = in ieee80211_get_buffered_bc() local
3749 rcu_dereference(sdata->u.ap.beacon); in ieee80211_get_buffered_bc()
3751 if (!beacon || !beacon->head) in ieee80211_get_buffered_bc()