Lines Matching refs:beacon

4797 					struct beacon_data *beacon)  in ieee80211_set_beacon_cntdwn()  argument
4807 beacon_data = beacon->tail; in ieee80211_set_beacon_cntdwn()
4808 beacon_data_len = beacon->tail_len; in ieee80211_set_beacon_cntdwn()
4811 beacon_data = beacon->head; in ieee80211_set_beacon_cntdwn()
4812 beacon_data_len = beacon->head_len; in ieee80211_set_beacon_cntdwn()
4815 beacon_data = beacon->head; in ieee80211_set_beacon_cntdwn()
4816 beacon_data_len = beacon->head_len; in ieee80211_set_beacon_cntdwn()
4825 bcn_offsets = beacon->cntdwn_counter_offsets; in ieee80211_set_beacon_cntdwn()
4826 count = beacon->cntdwn_current_counter; in ieee80211_set_beacon_cntdwn()
4848 static u8 __ieee80211_beacon_update_cntdwn(struct beacon_data *beacon) in __ieee80211_beacon_update_cntdwn() argument
4850 beacon->cntdwn_current_counter--; in __ieee80211_beacon_update_cntdwn()
4853 WARN_ON_ONCE(!beacon->cntdwn_current_counter); in __ieee80211_beacon_update_cntdwn()
4855 return beacon->cntdwn_current_counter; in __ieee80211_beacon_update_cntdwn()
4861 struct beacon_data *beacon = NULL; in ieee80211_beacon_update_cntdwn() local
4867 beacon = rcu_dereference(sdata->u.ap.beacon); in ieee80211_beacon_update_cntdwn()
4869 beacon = rcu_dereference(sdata->u.ibss.presp); in ieee80211_beacon_update_cntdwn()
4871 beacon = rcu_dereference(sdata->u.mesh.beacon); in ieee80211_beacon_update_cntdwn()
4873 if (!beacon) in ieee80211_beacon_update_cntdwn()
4876 count = __ieee80211_beacon_update_cntdwn(beacon); in ieee80211_beacon_update_cntdwn()
4887 struct beacon_data *beacon = NULL; in ieee80211_beacon_set_cntdwn() local
4892 beacon = rcu_dereference(sdata->u.ap.beacon); in ieee80211_beacon_set_cntdwn()
4894 beacon = rcu_dereference(sdata->u.ibss.presp); in ieee80211_beacon_set_cntdwn()
4896 beacon = rcu_dereference(sdata->u.mesh.beacon); in ieee80211_beacon_set_cntdwn()
4898 if (!beacon) in ieee80211_beacon_set_cntdwn()
4901 if (counter < beacon->cntdwn_current_counter) in ieee80211_beacon_set_cntdwn()
4902 beacon->cntdwn_current_counter = counter; in ieee80211_beacon_set_cntdwn()
4912 struct beacon_data *beacon = NULL; in ieee80211_beacon_cntdwn_is_complete() local
4924 beacon = rcu_dereference(ap->beacon); in ieee80211_beacon_cntdwn_is_complete()
4925 if (WARN_ON(!beacon || !beacon->tail)) in ieee80211_beacon_cntdwn_is_complete()
4927 beacon_data = beacon->tail; in ieee80211_beacon_cntdwn_is_complete()
4928 beacon_data_len = beacon->tail_len; in ieee80211_beacon_cntdwn_is_complete()
4932 beacon = rcu_dereference(ifibss->presp); in ieee80211_beacon_cntdwn_is_complete()
4933 if (!beacon) in ieee80211_beacon_cntdwn_is_complete()
4936 beacon_data = beacon->head; in ieee80211_beacon_cntdwn_is_complete()
4937 beacon_data_len = beacon->head_len; in ieee80211_beacon_cntdwn_is_complete()
4941 beacon = rcu_dereference(ifmsh->beacon); in ieee80211_beacon_cntdwn_is_complete()
4942 if (!beacon) in ieee80211_beacon_cntdwn_is_complete()
4945 beacon_data = beacon->head; in ieee80211_beacon_cntdwn_is_complete()
4946 beacon_data_len = beacon->head_len; in ieee80211_beacon_cntdwn_is_complete()
4952 if (!beacon->cntdwn_counter_offsets[0]) in ieee80211_beacon_cntdwn_is_complete()
4955 if (WARN_ON_ONCE(beacon->cntdwn_counter_offsets[0] > beacon_data_len)) in ieee80211_beacon_cntdwn_is_complete()
4958 if (beacon_data[beacon->cntdwn_counter_offsets[0]] == 1) in ieee80211_beacon_cntdwn_is_complete()
5001 struct beacon_data *beacon = NULL; in __ieee80211_beacon_get() local
5024 beacon = rcu_dereference(ap->beacon); in __ieee80211_beacon_get()
5025 if (beacon) { in __ieee80211_beacon_get()
5026 if (beacon->cntdwn_counter_offsets[0]) { in __ieee80211_beacon_get()
5030 ieee80211_set_beacon_cntdwn(sdata, beacon); in __ieee80211_beacon_get()
5038 beacon->head_len + in __ieee80211_beacon_get()
5039 beacon->tail_len + 256 + in __ieee80211_beacon_get()
5045 skb_put_data(skb, beacon->head, beacon->head_len); in __ieee80211_beacon_get()
5051 offs->tim_offset = beacon->head_len; in __ieee80211_beacon_get()
5052 offs->tim_length = skb->len - beacon->head_len; in __ieee80211_beacon_get()
5053 offs->cntdwn_counter_offs[0] = beacon->cntdwn_counter_offsets[0]; in __ieee80211_beacon_get()
5059 if (beacon->tail) in __ieee80211_beacon_get()
5060 skb_put_data(skb, beacon->tail, in __ieee80211_beacon_get()
5061 beacon->tail_len); in __ieee80211_beacon_get()
5071 beacon = rcu_dereference(ifibss->presp); in __ieee80211_beacon_get()
5072 if (!beacon) in __ieee80211_beacon_get()
5075 if (beacon->cntdwn_counter_offsets[0]) { in __ieee80211_beacon_get()
5077 __ieee80211_beacon_update_cntdwn(beacon); in __ieee80211_beacon_get()
5079 ieee80211_set_beacon_cntdwn(sdata, beacon); in __ieee80211_beacon_get()
5082 skb = dev_alloc_skb(local->tx_headroom + beacon->head_len + in __ieee80211_beacon_get()
5087 skb_put_data(skb, beacon->head, beacon->head_len); in __ieee80211_beacon_get()
5095 beacon = rcu_dereference(ifmsh->beacon); in __ieee80211_beacon_get()
5096 if (!beacon) in __ieee80211_beacon_get()
5099 if (beacon->cntdwn_counter_offsets[0]) { in __ieee80211_beacon_get()
5106 __ieee80211_beacon_update_cntdwn(beacon); in __ieee80211_beacon_get()
5108 ieee80211_set_beacon_cntdwn(sdata, beacon); in __ieee80211_beacon_get()
5112 ifmsh->sync_ops->adjust_tsf(sdata, beacon); in __ieee80211_beacon_get()
5115 beacon->head_len + in __ieee80211_beacon_get()
5117 beacon->tail_len + in __ieee80211_beacon_get()
5122 skb_put_data(skb, beacon->head, beacon->head_len); in __ieee80211_beacon_get()
5126 offs->tim_offset = beacon->head_len; in __ieee80211_beacon_get()
5127 offs->tim_length = skb->len - beacon->head_len; in __ieee80211_beacon_get()
5130 skb_put_data(skb, beacon->tail, beacon->tail_len); in __ieee80211_beacon_get()
5137 if (offs && beacon) { in __ieee80211_beacon_get()
5141 u16 csa_off = beacon->cntdwn_counter_offsets[i]; in __ieee80211_beacon_get()
5508 struct beacon_data *beacon = in ieee80211_get_buffered_bc() local
5509 rcu_dereference(sdata->u.ap.beacon); in ieee80211_get_buffered_bc()
5511 if (!beacon || !beacon->head) in ieee80211_get_buffered_bc()