Lines Matching refs:ies

78 	struct cfg80211_bss_ies *ies;  in bss_free()  local
83 ies = (void *)rcu_access_pointer(bss->pub.beacon_ies); in bss_free()
84 if (ies && !bss->pub.hidden_beacon_bss) in bss_free()
85 kfree_rcu(ies, rcu_head); in bss_free()
86 ies = (void *)rcu_access_pointer(bss->pub.proberesp_ies); in bss_free()
87 if (ies) in bss_free()
88 kfree_rcu(ies, rcu_head); in bss_free()
483 const u8 *cfg80211_find_ie_match(u8 eid, const u8 *ies, int len, in cfg80211_find_ie_match() argument
494 while (len >= 2 && len >= ies[1] + 2) { in cfg80211_find_ie_match()
495 if ((ies[0] == eid) && in cfg80211_find_ie_match()
496 (ies[1] + 2 >= match_offset + match_len) && in cfg80211_find_ie_match()
497 !memcmp(ies + match_offset, match, match_len)) in cfg80211_find_ie_match()
498 return ies; in cfg80211_find_ie_match()
500 len -= ies[1] + 2; in cfg80211_find_ie_match()
501 ies += ies[1] + 2; in cfg80211_find_ie_match()
509 const u8 *ies, int len) in cfg80211_find_vendor_ie() argument
518 ie = cfg80211_find_ie_match(WLAN_EID_VENDOR_SPECIFIC, ies, len, in cfg80211_find_vendor_ie()
531 const struct cfg80211_bss_ies *ies; in is_bss() local
540 ies = rcu_access_pointer(a->ies); in is_bss()
541 if (!ies) in is_bss()
543 ssidie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in is_bss()
575 a_ies = rcu_access_pointer(a->ies); in cmp_bss()
578 b_ies = rcu_access_pointer(b->ies); in cmp_bss()
815 const struct cfg80211_bss_ies *ies; in cfg80211_combine_bsses() local
822 ies = rcu_access_pointer(new->pub.beacon_ies); in cfg80211_combine_bsses()
823 if (WARN_ON(!ies)) in cfg80211_combine_bsses()
826 ie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_combine_bsses()
858 ies = rcu_access_pointer(bss->pub.ies); in cfg80211_combine_bsses()
859 if (!ies) in cfg80211_combine_bsses()
861 ie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_combine_bsses()
900 if (WARN_ON(!rcu_access_pointer(tmp->pub.ies))) { in cfg80211_bss_update()
917 rcu_assign_pointer(found->pub.ies, in cfg80211_bss_update()
952 if (old == rcu_access_pointer(found->pub.ies)) in cfg80211_bss_update()
953 rcu_assign_pointer(found->pub.ies, in cfg80211_bss_update()
959 const struct cfg80211_bss_ies *ies; in cfg80211_bss_update() local
961 ies = rcu_access_pointer(bss->pub.beacon_ies); in cfg80211_bss_update()
962 WARN_ON(ies != old); in cfg80211_bss_update()
991 struct cfg80211_bss_ies *ies; in cfg80211_bss_update() local
1001 ies = (void *)rcu_dereference(tmp->pub.beacon_ies); in cfg80211_bss_update()
1002 if (ies) in cfg80211_bss_update()
1003 kfree_rcu(ies, rcu_head); in cfg80211_bss_update()
1004 ies = (void *)rcu_dereference(tmp->pub.proberesp_ies); in cfg80211_bss_update()
1005 if (ies) in cfg80211_bss_update()
1006 kfree_rcu(ies, rcu_head); in cfg80211_bss_update()
1141 struct cfg80211_bss_ies *ies; in cfg80211_inform_bss_data() local
1175 ies = kzalloc(sizeof(*ies) + ielen, gfp); in cfg80211_inform_bss_data()
1176 if (!ies) in cfg80211_inform_bss_data()
1178 ies->len = ielen; in cfg80211_inform_bss_data()
1179 ies->tsf = tsf; in cfg80211_inform_bss_data()
1180 ies->from_beacon = false; in cfg80211_inform_bss_data()
1181 memcpy(ies->data, ie, ielen); in cfg80211_inform_bss_data()
1185 ies->from_beacon = true; in cfg80211_inform_bss_data()
1188 rcu_assign_pointer(tmp.pub.beacon_ies, ies); in cfg80211_inform_bss_data()
1191 rcu_assign_pointer(tmp.pub.proberesp_ies, ies); in cfg80211_inform_bss_data()
1194 rcu_assign_pointer(tmp.pub.ies, ies); in cfg80211_inform_bss_data()
1227 struct cfg80211_bss_ies *ies; in cfg80211_inform_bss_frame_data() local
1257 ies = kzalloc(sizeof(*ies) + ielen, gfp); in cfg80211_inform_bss_frame_data()
1258 if (!ies) in cfg80211_inform_bss_frame_data()
1260 ies->len = ielen; in cfg80211_inform_bss_frame_data()
1261 ies->tsf = le64_to_cpu(mgmt->u.probe_resp.timestamp); in cfg80211_inform_bss_frame_data()
1262 ies->from_beacon = ieee80211_is_beacon(mgmt->frame_control); in cfg80211_inform_bss_frame_data()
1263 memcpy(ies->data, mgmt->u.probe_resp.variable, ielen); in cfg80211_inform_bss_frame_data()
1266 rcu_assign_pointer(tmp.pub.proberesp_ies, ies); in cfg80211_inform_bss_frame_data()
1268 rcu_assign_pointer(tmp.pub.beacon_ies, ies); in cfg80211_inform_bss_frame_data()
1269 rcu_assign_pointer(tmp.pub.ies, ies); in cfg80211_inform_bss_frame_data()
1513 const struct cfg80211_bss_ies *ies, in ieee80211_scan_add_ies() argument
1519 if (!ies) in ieee80211_scan_add_ies()
1526 pos = ies->data; in ieee80211_scan_add_ies()
1527 end = pos + ies->len; in ieee80211_scan_add_ies()
1564 const struct cfg80211_bss_ies *ies; in ieee80211_bss() local
1646 ies = rcu_dereference(bss->pub.ies); in ieee80211_bss()
1647 rem = ies->len; in ieee80211_bss()
1648 ie = ies->data; in ieee80211_bss()
1795 sprintf(buf, "tsf=%016llx", (unsigned long long)(ies->tsf)); in ieee80211_bss()
1811 current_ev = ieee80211_scan_add_ies(info, ies, current_ev, end_buf); in ieee80211_bss()