Lines Matching refs:beacon
4559 struct beacon_data *beacon) in ieee80211_set_beacon_cntdwn() argument
4565 u8 count = beacon->cntdwn_current_counter; in ieee80211_set_beacon_cntdwn()
4569 beacon_data = beacon->tail; in ieee80211_set_beacon_cntdwn()
4570 beacon_data_len = beacon->tail_len; in ieee80211_set_beacon_cntdwn()
4573 beacon_data = beacon->head; in ieee80211_set_beacon_cntdwn()
4574 beacon_data_len = beacon->head_len; in ieee80211_set_beacon_cntdwn()
4577 beacon_data = beacon->head; in ieee80211_set_beacon_cntdwn()
4578 beacon_data_len = beacon->head_len; in ieee80211_set_beacon_cntdwn()
4588 if (beacon->cntdwn_counter_offsets[i]) { in ieee80211_set_beacon_cntdwn()
4589 if (WARN_ON_ONCE(beacon->cntdwn_counter_offsets[i] >= in ieee80211_set_beacon_cntdwn()
4595 beacon_data[beacon->cntdwn_counter_offsets[i]] = count; in ieee80211_set_beacon_cntdwn()
4604 static u8 __ieee80211_beacon_update_cntdwn(struct beacon_data *beacon) in __ieee80211_beacon_update_cntdwn() argument
4606 beacon->cntdwn_current_counter--; in __ieee80211_beacon_update_cntdwn()
4609 WARN_ON_ONCE(!beacon->cntdwn_current_counter); in __ieee80211_beacon_update_cntdwn()
4611 return beacon->cntdwn_current_counter; in __ieee80211_beacon_update_cntdwn()
4617 struct beacon_data *beacon = NULL; in ieee80211_beacon_update_cntdwn() local
4623 beacon = rcu_dereference(sdata->u.ap.beacon); in ieee80211_beacon_update_cntdwn()
4625 beacon = rcu_dereference(sdata->u.ibss.presp); in ieee80211_beacon_update_cntdwn()
4627 beacon = rcu_dereference(sdata->u.mesh.beacon); in ieee80211_beacon_update_cntdwn()
4629 if (!beacon) in ieee80211_beacon_update_cntdwn()
4632 count = __ieee80211_beacon_update_cntdwn(beacon); in ieee80211_beacon_update_cntdwn()
4643 struct beacon_data *beacon = NULL; in ieee80211_beacon_set_cntdwn() local
4648 beacon = rcu_dereference(sdata->u.ap.beacon); in ieee80211_beacon_set_cntdwn()
4650 beacon = rcu_dereference(sdata->u.ibss.presp); in ieee80211_beacon_set_cntdwn()
4652 beacon = rcu_dereference(sdata->u.mesh.beacon); in ieee80211_beacon_set_cntdwn()
4654 if (!beacon) in ieee80211_beacon_set_cntdwn()
4657 if (counter < beacon->cntdwn_current_counter) in ieee80211_beacon_set_cntdwn()
4658 beacon->cntdwn_current_counter = counter; in ieee80211_beacon_set_cntdwn()
4668 struct beacon_data *beacon = NULL; in ieee80211_beacon_cntdwn_is_complete() local
4680 beacon = rcu_dereference(ap->beacon); in ieee80211_beacon_cntdwn_is_complete()
4681 if (WARN_ON(!beacon || !beacon->tail)) in ieee80211_beacon_cntdwn_is_complete()
4683 beacon_data = beacon->tail; in ieee80211_beacon_cntdwn_is_complete()
4684 beacon_data_len = beacon->tail_len; in ieee80211_beacon_cntdwn_is_complete()
4688 beacon = rcu_dereference(ifibss->presp); in ieee80211_beacon_cntdwn_is_complete()
4689 if (!beacon) in ieee80211_beacon_cntdwn_is_complete()
4692 beacon_data = beacon->head; in ieee80211_beacon_cntdwn_is_complete()
4693 beacon_data_len = beacon->head_len; in ieee80211_beacon_cntdwn_is_complete()
4697 beacon = rcu_dereference(ifmsh->beacon); in ieee80211_beacon_cntdwn_is_complete()
4698 if (!beacon) in ieee80211_beacon_cntdwn_is_complete()
4701 beacon_data = beacon->head; in ieee80211_beacon_cntdwn_is_complete()
4702 beacon_data_len = beacon->head_len; in ieee80211_beacon_cntdwn_is_complete()
4708 if (!beacon->cntdwn_counter_offsets[0]) in ieee80211_beacon_cntdwn_is_complete()
4711 if (WARN_ON_ONCE(beacon->cntdwn_counter_offsets[0] > beacon_data_len)) in ieee80211_beacon_cntdwn_is_complete()
4714 if (beacon_data[beacon->cntdwn_counter_offsets[0]] == 1) in ieee80211_beacon_cntdwn_is_complete()
4757 struct beacon_data *beacon = NULL; in __ieee80211_beacon_get() local
4780 beacon = rcu_dereference(ap->beacon); in __ieee80211_beacon_get()
4781 if (beacon) { in __ieee80211_beacon_get()
4782 if (beacon->cntdwn_counter_offsets[0]) { in __ieee80211_beacon_get()
4786 ieee80211_set_beacon_cntdwn(sdata, beacon); in __ieee80211_beacon_get()
4794 beacon->head_len + in __ieee80211_beacon_get()
4795 beacon->tail_len + 256 + in __ieee80211_beacon_get()
4801 skb_put_data(skb, beacon->head, beacon->head_len); in __ieee80211_beacon_get()
4807 offs->tim_offset = beacon->head_len; in __ieee80211_beacon_get()
4808 offs->tim_length = skb->len - beacon->head_len; in __ieee80211_beacon_get()
4814 if (beacon->tail) in __ieee80211_beacon_get()
4815 skb_put_data(skb, beacon->tail, in __ieee80211_beacon_get()
4816 beacon->tail_len); in __ieee80211_beacon_get()
4826 beacon = rcu_dereference(ifibss->presp); in __ieee80211_beacon_get()
4827 if (!beacon) in __ieee80211_beacon_get()
4830 if (beacon->cntdwn_counter_offsets[0]) { in __ieee80211_beacon_get()
4832 __ieee80211_beacon_update_cntdwn(beacon); in __ieee80211_beacon_get()
4834 ieee80211_set_beacon_cntdwn(sdata, beacon); in __ieee80211_beacon_get()
4837 skb = dev_alloc_skb(local->tx_headroom + beacon->head_len + in __ieee80211_beacon_get()
4842 skb_put_data(skb, beacon->head, beacon->head_len); in __ieee80211_beacon_get()
4850 beacon = rcu_dereference(ifmsh->beacon); in __ieee80211_beacon_get()
4851 if (!beacon) in __ieee80211_beacon_get()
4854 if (beacon->cntdwn_counter_offsets[0]) { in __ieee80211_beacon_get()
4861 __ieee80211_beacon_update_cntdwn(beacon); in __ieee80211_beacon_get()
4863 ieee80211_set_beacon_cntdwn(sdata, beacon); in __ieee80211_beacon_get()
4867 ifmsh->sync_ops->adjust_tsf(sdata, beacon); in __ieee80211_beacon_get()
4870 beacon->head_len + in __ieee80211_beacon_get()
4872 beacon->tail_len + in __ieee80211_beacon_get()
4877 skb_put_data(skb, beacon->head, beacon->head_len); in __ieee80211_beacon_get()
4881 offs->tim_offset = beacon->head_len; in __ieee80211_beacon_get()
4882 offs->tim_length = skb->len - beacon->head_len; in __ieee80211_beacon_get()
4885 skb_put_data(skb, beacon->tail, beacon->tail_len); in __ieee80211_beacon_get()
4892 if (offs && beacon) { in __ieee80211_beacon_get()
4896 u16 csa_off = beacon->cntdwn_counter_offsets[i]; in __ieee80211_beacon_get()
5263 struct beacon_data *beacon = in ieee80211_get_buffered_bc() local
5264 rcu_dereference(sdata->u.ap.beacon); in ieee80211_get_buffered_bc()
5266 if (!beacon || !beacon->head) in ieee80211_get_buffered_bc()