Lines Matching refs:ies
118 struct cfg80211_bss_ies *ies; in bss_free() local
123 ies = (void *)rcu_access_pointer(bss->pub.beacon_ies); in bss_free()
124 if (ies && !bss->pub.hidden_beacon_bss) in bss_free()
125 kfree_rcu(ies, rcu_head); in bss_free()
126 ies = (void *)rcu_access_pointer(bss->pub.proberesp_ies); in bss_free()
127 if (ies) in bss_free()
128 kfree_rcu(ies, rcu_head); in bss_free()
385 const struct cfg80211_bss_ies *ies; in is_bss() local
394 ies = rcu_access_pointer(a->ies); in is_bss()
395 if (!ies) in is_bss()
397 ssidie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in is_bss()
512 static int cfg80211_calc_short_ssid(const struct cfg80211_bss_ies *ies, in cfg80211_calc_short_ssid() argument
516 *elem = cfg80211_find_elem(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_calc_short_ssid()
583 static int cfg80211_parse_colocated_ap(const struct cfg80211_bss_ies *ies, in cfg80211_parse_colocated_ap() argument
593 elem = cfg80211_find_elem(WLAN_EID_REDUCED_NEIGHBOR_REPORT, ies->data, in cfg80211_parse_colocated_ap()
594 ies->len); in cfg80211_parse_colocated_ap()
601 ret = cfg80211_calc_short_ssid(ies, &ssid_elem, &s_ssid_tmp); in cfg80211_parse_colocated_ap()
753 const struct cfg80211_bss_ies *ies; in cfg80211_scan_6ghz() local
755 ies = rcu_access_pointer(res->ies); in cfg80211_scan_6ghz()
756 count += cfg80211_parse_colocated_ap(ies, in cfg80211_scan_6ghz()
1223 cfg80211_find_elem_match(u8 eid, const u8 *ies, unsigned int len, in cfg80211_find_elem_match() argument
1229 for_each_element_id(elem, eid, ies, len) { in cfg80211_find_elem_match()
1240 const u8 *ies, in cfg80211_find_vendor_elem() argument
1250 elem = cfg80211_find_elem_match(WLAN_EID_VENDOR_SPECIFIC, ies, len, in cfg80211_find_vendor_elem()
1284 a_ies = rcu_access_pointer(a->ies); in cmp_bss()
1287 b_ies = rcu_access_pointer(b->ies); in cmp_bss()
1524 const struct cfg80211_bss_ies *ies; in cfg80211_combine_bsses() local
1531 ies = rcu_access_pointer(new->pub.beacon_ies); in cfg80211_combine_bsses()
1532 if (WARN_ON(!ies)) in cfg80211_combine_bsses()
1535 ie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_combine_bsses()
1567 ies = rcu_access_pointer(bss->pub.ies); in cfg80211_combine_bsses()
1568 if (!ies) in cfg80211_combine_bsses()
1570 ie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_combine_bsses()
1617 rcu_assign_pointer(known->pub.ies, in cfg80211_update_known_bss()
1648 if (old == rcu_access_pointer(known->pub.ies)) in cfg80211_update_known_bss()
1649 rcu_assign_pointer(known->pub.ies, new->pub.beacon_ies); in cfg80211_update_known_bss()
1653 const struct cfg80211_bss_ies *ies; in cfg80211_update_known_bss() local
1655 ies = rcu_access_pointer(bss->pub.beacon_ies); in cfg80211_update_known_bss()
1656 WARN_ON(ies != old); in cfg80211_update_known_bss()
1702 if (WARN_ON(!rcu_access_pointer(tmp->pub.ies))) { in cfg80211_bss_update()
1715 struct cfg80211_bss_ies *ies; in cfg80211_bss_update() local
1725 ies = (void *)rcu_dereference(tmp->pub.beacon_ies); in cfg80211_bss_update()
1726 if (ies) in cfg80211_bss_update()
1727 kfree_rcu(ies, rcu_head); in cfg80211_bss_update()
1728 ies = (void *)rcu_dereference(tmp->pub.proberesp_ies); in cfg80211_bss_update()
1729 if (ies) in cfg80211_bss_update()
1730 kfree_rcu(ies, rcu_head); in cfg80211_bss_update()
1888 struct cfg80211_bss_ies *ies; in cfg80211_inform_single_bss_data() local
1934 ies = kzalloc(sizeof(*ies) + ielen, gfp); in cfg80211_inform_single_bss_data()
1935 if (!ies) in cfg80211_inform_single_bss_data()
1937 ies->len = ielen; in cfg80211_inform_single_bss_data()
1938 ies->tsf = tsf; in cfg80211_inform_single_bss_data()
1939 ies->from_beacon = false; in cfg80211_inform_single_bss_data()
1940 memcpy(ies->data, ie, ielen); in cfg80211_inform_single_bss_data()
1944 ies->from_beacon = true; in cfg80211_inform_single_bss_data()
1947 rcu_assign_pointer(tmp.pub.beacon_ies, ies); in cfg80211_inform_single_bss_data()
1950 rcu_assign_pointer(tmp.pub.proberesp_ies, ies); in cfg80211_inform_single_bss_data()
1953 rcu_assign_pointer(tmp.pub.ies, ies); in cfg80211_inform_single_bss_data()
2293 rcu_assign_pointer(nontrans_bss->ies, new_ies); in cfg80211_update_notlisted_nontrans()
2299 rcu_assign_pointer(nontrans_bss->ies, new_ies); in cfg80211_update_notlisted_nontrans()
2316 struct cfg80211_bss_ies *ies; in cfg80211_inform_single_bss_frame_data() local
2386 ies = kzalloc(sizeof(*ies) + ielen, gfp); in cfg80211_inform_single_bss_frame_data()
2387 if (!ies) in cfg80211_inform_single_bss_frame_data()
2389 ies->len = ielen; in cfg80211_inform_single_bss_frame_data()
2390 ies->tsf = le64_to_cpu(mgmt->u.probe_resp.timestamp); in cfg80211_inform_single_bss_frame_data()
2391 ies->from_beacon = ieee80211_is_beacon(mgmt->frame_control) || in cfg80211_inform_single_bss_frame_data()
2393 memcpy(ies->data, variable, ielen); in cfg80211_inform_single_bss_frame_data()
2396 rcu_assign_pointer(tmp.pub.proberesp_ies, ies); in cfg80211_inform_single_bss_frame_data()
2398 rcu_assign_pointer(tmp.pub.beacon_ies, ies); in cfg80211_inform_single_bss_frame_data()
2399 rcu_assign_pointer(tmp.pub.ies, ies); in cfg80211_inform_single_bss_frame_data()
2466 ies1 = rcu_access_pointer(res->ies); in cfg80211_inform_bss_frame_data()
2474 ies2 = rcu_access_pointer(tmp_bss->ies); in cfg80211_inform_bss_frame_data()
2812 const struct cfg80211_bss_ies *ies, in ieee80211_scan_add_ies() argument
2818 if (!ies) in ieee80211_scan_add_ies()
2825 pos = ies->data; in ieee80211_scan_add_ies()
2826 end = pos + ies->len; in ieee80211_scan_add_ies()
2863 const struct cfg80211_bss_ies *ies; in ieee80211_bss() local
2945 ies = rcu_dereference(bss->pub.ies); in ieee80211_bss()
2946 rem = ies->len; in ieee80211_bss()
2947 ie = ies->data; in ieee80211_bss()
3094 sprintf(buf, "tsf=%016llx", (unsigned long long)(ies->tsf)); in ieee80211_bss()
3110 current_ev = ieee80211_scan_add_ies(info, ies, current_ev, end_buf); in ieee80211_bss()