Lines Matching refs:beacon

4865 					struct beacon_data *beacon,  in ieee80211_set_beacon_cntdwn()  argument
4876 beacon_data = beacon->tail; in ieee80211_set_beacon_cntdwn()
4877 beacon_data_len = beacon->tail_len; in ieee80211_set_beacon_cntdwn()
4880 beacon_data = beacon->head; in ieee80211_set_beacon_cntdwn()
4881 beacon_data_len = beacon->head_len; in ieee80211_set_beacon_cntdwn()
4884 beacon_data = beacon->head; in ieee80211_set_beacon_cntdwn()
4885 beacon_data_len = beacon->head_len; in ieee80211_set_beacon_cntdwn()
4893 bcn_offsets = beacon->cntdwn_counter_offsets; in ieee80211_set_beacon_cntdwn()
4894 count = beacon->cntdwn_current_counter; in ieee80211_set_beacon_cntdwn()
4913 static u8 __ieee80211_beacon_update_cntdwn(struct beacon_data *beacon) in __ieee80211_beacon_update_cntdwn() argument
4915 beacon->cntdwn_current_counter--; in __ieee80211_beacon_update_cntdwn()
4918 WARN_ON_ONCE(!beacon->cntdwn_current_counter); in __ieee80211_beacon_update_cntdwn()
4920 return beacon->cntdwn_current_counter; in __ieee80211_beacon_update_cntdwn()
4926 struct beacon_data *beacon = NULL; in ieee80211_beacon_update_cntdwn() local
4932 beacon = rcu_dereference(sdata->deflink.u.ap.beacon); in ieee80211_beacon_update_cntdwn()
4934 beacon = rcu_dereference(sdata->u.ibss.presp); in ieee80211_beacon_update_cntdwn()
4936 beacon = rcu_dereference(sdata->u.mesh.beacon); in ieee80211_beacon_update_cntdwn()
4938 if (!beacon) in ieee80211_beacon_update_cntdwn()
4941 count = __ieee80211_beacon_update_cntdwn(beacon); in ieee80211_beacon_update_cntdwn()
4952 struct beacon_data *beacon = NULL; in ieee80211_beacon_set_cntdwn() local
4957 beacon = rcu_dereference(sdata->deflink.u.ap.beacon); in ieee80211_beacon_set_cntdwn()
4959 beacon = rcu_dereference(sdata->u.ibss.presp); in ieee80211_beacon_set_cntdwn()
4961 beacon = rcu_dereference(sdata->u.mesh.beacon); in ieee80211_beacon_set_cntdwn()
4963 if (!beacon) in ieee80211_beacon_set_cntdwn()
4966 if (counter < beacon->cntdwn_current_counter) in ieee80211_beacon_set_cntdwn()
4967 beacon->cntdwn_current_counter = counter; in ieee80211_beacon_set_cntdwn()
4977 struct beacon_data *beacon = NULL; in ieee80211_beacon_cntdwn_is_complete() local
4987 beacon = rcu_dereference(sdata->deflink.u.ap.beacon); in ieee80211_beacon_cntdwn_is_complete()
4988 if (WARN_ON(!beacon || !beacon->tail)) in ieee80211_beacon_cntdwn_is_complete()
4990 beacon_data = beacon->tail; in ieee80211_beacon_cntdwn_is_complete()
4991 beacon_data_len = beacon->tail_len; in ieee80211_beacon_cntdwn_is_complete()
4995 beacon = rcu_dereference(ifibss->presp); in ieee80211_beacon_cntdwn_is_complete()
4996 if (!beacon) in ieee80211_beacon_cntdwn_is_complete()
4999 beacon_data = beacon->head; in ieee80211_beacon_cntdwn_is_complete()
5000 beacon_data_len = beacon->head_len; in ieee80211_beacon_cntdwn_is_complete()
5004 beacon = rcu_dereference(ifmsh->beacon); in ieee80211_beacon_cntdwn_is_complete()
5005 if (!beacon) in ieee80211_beacon_cntdwn_is_complete()
5008 beacon_data = beacon->head; in ieee80211_beacon_cntdwn_is_complete()
5009 beacon_data_len = beacon->head_len; in ieee80211_beacon_cntdwn_is_complete()
5015 if (!beacon->cntdwn_counter_offsets[0]) in ieee80211_beacon_cntdwn_is_complete()
5018 if (WARN_ON_ONCE(beacon->cntdwn_counter_offsets[0] > beacon_data_len)) in ieee80211_beacon_cntdwn_is_complete()
5021 if (beacon_data[beacon->cntdwn_counter_offsets[0]] == 1) in ieee80211_beacon_cntdwn_is_complete()
5063 struct beacon_data *beacon, in ieee80211_beacon_get_finish() argument
5075 if (offs && beacon) { in ieee80211_beacon_get_finish()
5079 u16 csa_off = beacon->cntdwn_counter_offsets[i]; in ieee80211_beacon_get_finish()
5116 ieee80211_beacon_add_mbssid(struct sk_buff *skb, struct beacon_data *beacon) in ieee80211_beacon_add_mbssid() argument
5120 if (!beacon->mbssid_ies) in ieee80211_beacon_add_mbssid()
5123 for (i = 0; i < beacon->mbssid_ies->cnt; i++) in ieee80211_beacon_add_mbssid()
5124 skb_put_data(skb, beacon->mbssid_ies->elem[i].data, in ieee80211_beacon_add_mbssid()
5125 beacon->mbssid_ies->elem[i].len); in ieee80211_beacon_add_mbssid()
5134 struct beacon_data *beacon, in ieee80211_beacon_get_ap() argument
5144 if (beacon->cntdwn_counter_offsets[0]) { in ieee80211_beacon_get_ap()
5148 ieee80211_set_beacon_cntdwn(sdata, beacon, link); in ieee80211_beacon_get_ap()
5154 mbssid_len = ieee80211_get_mbssid_beacon_len(beacon->mbssid_ies); in ieee80211_beacon_get_ap()
5155 skb = dev_alloc_skb(local->tx_headroom + beacon->head_len + in ieee80211_beacon_get_ap()
5156 beacon->tail_len + 256 + in ieee80211_beacon_get_ap()
5162 skb_put_data(skb, beacon->head, beacon->head_len); in ieee80211_beacon_get_ap()
5167 offs->tim_offset = beacon->head_len; in ieee80211_beacon_get_ap()
5168 offs->tim_length = skb->len - beacon->head_len; in ieee80211_beacon_get_ap()
5169 offs->cntdwn_counter_offs[0] = beacon->cntdwn_counter_offsets[0]; in ieee80211_beacon_get_ap()
5172 ieee80211_beacon_add_mbssid(skb, beacon); in ieee80211_beacon_get_ap()
5180 if (beacon->tail) in ieee80211_beacon_get_ap()
5181 skb_put_data(skb, beacon->tail, beacon->tail_len); in ieee80211_beacon_get_ap()
5186 ieee80211_beacon_get_finish(hw, vif, link, offs, beacon, skb, in ieee80211_beacon_get_ap()
5199 struct beacon_data *beacon = NULL; in __ieee80211_beacon_get() local
5221 beacon = rcu_dereference(link->u.ap.beacon); in __ieee80211_beacon_get()
5222 if (!beacon) in __ieee80211_beacon_get()
5226 beacon, chanctx_conf); in __ieee80211_beacon_get()
5231 beacon = rcu_dereference(ifibss->presp); in __ieee80211_beacon_get()
5232 if (!beacon) in __ieee80211_beacon_get()
5235 if (beacon->cntdwn_counter_offsets[0]) { in __ieee80211_beacon_get()
5237 __ieee80211_beacon_update_cntdwn(beacon); in __ieee80211_beacon_get()
5239 ieee80211_set_beacon_cntdwn(sdata, beacon, link); in __ieee80211_beacon_get()
5242 skb = dev_alloc_skb(local->tx_headroom + beacon->head_len + in __ieee80211_beacon_get()
5247 skb_put_data(skb, beacon->head, beacon->head_len); in __ieee80211_beacon_get()
5253 ieee80211_beacon_get_finish(hw, vif, link, offs, beacon, skb, in __ieee80211_beacon_get()
5258 beacon = rcu_dereference(ifmsh->beacon); in __ieee80211_beacon_get()
5259 if (!beacon) in __ieee80211_beacon_get()
5262 if (beacon->cntdwn_counter_offsets[0]) { in __ieee80211_beacon_get()
5269 __ieee80211_beacon_update_cntdwn(beacon); in __ieee80211_beacon_get()
5271 ieee80211_set_beacon_cntdwn(sdata, beacon, link); in __ieee80211_beacon_get()
5275 ifmsh->sync_ops->adjust_tsf(sdata, beacon); in __ieee80211_beacon_get()
5278 beacon->head_len + in __ieee80211_beacon_get()
5280 beacon->tail_len + in __ieee80211_beacon_get()
5285 skb_put_data(skb, beacon->head, beacon->head_len); in __ieee80211_beacon_get()
5290 offs->tim_offset = beacon->head_len; in __ieee80211_beacon_get()
5291 offs->tim_length = skb->len - beacon->head_len; in __ieee80211_beacon_get()
5294 skb_put_data(skb, beacon->tail, beacon->tail_len); in __ieee80211_beacon_get()
5295 ieee80211_beacon_get_finish(hw, vif, link, offs, beacon, skb, in __ieee80211_beacon_get()
5637 struct beacon_data *beacon = in ieee80211_get_buffered_bc() local
5638 rcu_dereference(sdata->deflink.u.ap.beacon); in ieee80211_get_buffered_bc()
5640 if (!beacon || !beacon->head) in ieee80211_get_buffered_bc()