Lines Matching refs:ies

82 	struct cfg80211_bss_ies *ies;  in bss_free()  local
87 ies = (void *)rcu_access_pointer(bss->pub.beacon_ies); in bss_free()
88 if (ies && !bss->pub.hidden_beacon_bss) in bss_free()
89 kfree_rcu(ies, rcu_head); in bss_free()
90 ies = (void *)rcu_access_pointer(bss->pub.proberesp_ies); in bss_free()
91 if (ies) in bss_free()
92 kfree_rcu(ies, rcu_head); in bss_free()
409 const struct cfg80211_bss_ies *ies; in is_bss() local
418 ies = rcu_access_pointer(a->ies); in is_bss()
419 if (!ies) in is_bss()
421 ssid_elem = cfg80211_find_elem(WLAN_EID_SSID, ies->data, ies->len); in is_bss()
543 static int cfg80211_calc_short_ssid(const struct cfg80211_bss_ies *ies, in cfg80211_calc_short_ssid() argument
547 *elem = cfg80211_find_elem(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_calc_short_ssid()
762 cfg80211_parse_colocated_ap(const struct cfg80211_bss_ies *ies, in cfg80211_parse_colocated_ap() argument
770 ret = cfg80211_calc_short_ssid(ies, &data.ssid_elem, &data.s_ssid_tmp); in cfg80211_parse_colocated_ap()
774 if (!cfg80211_iter_rnr(ies->data, ies->len, in cfg80211_parse_colocated_ap()
870 const struct cfg80211_bss_ies *ies; in cfg80211_scan_6ghz() local
876 ies = rcu_access_pointer(res->ies); in cfg80211_scan_6ghz()
877 count += cfg80211_parse_colocated_ap(ies, in cfg80211_scan_6ghz()
891 ret = cfg80211_calc_short_ssid(ies, &ssid_elem, in cfg80211_scan_6ghz()
1392 cfg80211_find_elem_match(u8 eid, const u8 *ies, unsigned int len, in cfg80211_find_elem_match() argument
1398 for_each_element_id(elem, eid, ies, len) { in cfg80211_find_elem_match()
1409 const u8 *ies, in cfg80211_find_vendor_elem() argument
1419 elem = cfg80211_find_elem_match(WLAN_EID_VENDOR_SPECIFIC, ies, len, in cfg80211_find_vendor_elem()
1454 a_ies = rcu_access_pointer(a->ies); in cmp_bss()
1457 b_ies = rcu_access_pointer(b->ies); in cmp_bss()
1726 const struct cfg80211_bss_ies *ies; in cfg80211_combine_bsses() local
1733 ies = rcu_access_pointer(new->pub.beacon_ies); in cfg80211_combine_bsses()
1734 if (WARN_ON(!ies)) in cfg80211_combine_bsses()
1737 ie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_combine_bsses()
1767 ies = rcu_access_pointer(bss->pub.ies); in cfg80211_combine_bsses()
1768 if (!ies) in cfg80211_combine_bsses()
1770 ie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_combine_bsses()
1802 const struct cfg80211_bss_ies *ies; in cfg80211_update_hidden_bsses() local
1804 ies = rcu_access_pointer(bss->pub.beacon_ies); in cfg80211_update_hidden_bsses()
1805 WARN_ON(ies != old_ies); in cfg80211_update_hidden_bsses()
1883 rcu_assign_pointer(known->pub.ies, in cfg80211_update_known_bss()
1917 if (old == rcu_access_pointer(known->pub.ies)) in cfg80211_update_known_bss()
1918 rcu_assign_pointer(known->pub.ies, new->pub.beacon_ies); in cfg80211_update_known_bss()
1959 struct cfg80211_bss_ies *ies; in __cfg80211_bss_update() local
1966 if (WARN_ON(!rcu_access_pointer(tmp->pub.ies))) in __cfg80211_bss_update()
2005 ies = (void *)rcu_access_pointer(new->pub.beacon_ies); in __cfg80211_bss_update()
2008 if (ies) in __cfg80211_bss_update()
2009 kfree_rcu(ies, rcu_head); in __cfg80211_bss_update()
2046 ies = (void *)rcu_access_pointer(tmp->pub.beacon_ies); in __cfg80211_bss_update()
2047 if (ies) in __cfg80211_bss_update()
2048 kfree_rcu(ies, rcu_head); in __cfg80211_bss_update()
2049 ies = (void *)rcu_access_pointer(tmp->pub.proberesp_ies); in __cfg80211_bss_update()
2050 if (ies) in __cfg80211_bss_update()
2051 kfree_rcu(ies, rcu_head); in __cfg80211_bss_update()
2254 struct cfg80211_bss_ies *ies; in cfg80211_inform_single_bss_data() local
2339 ies = kzalloc(sizeof(*ies) + data->ielen, gfp); in cfg80211_inform_single_bss_data()
2340 if (!ies) in cfg80211_inform_single_bss_data()
2342 ies->len = data->ielen; in cfg80211_inform_single_bss_data()
2343 ies->tsf = data->tsf; in cfg80211_inform_single_bss_data()
2344 ies->from_beacon = false; in cfg80211_inform_single_bss_data()
2345 memcpy(ies->data, data->ie, data->ielen); in cfg80211_inform_single_bss_data()
2350 ies->from_beacon = true; in cfg80211_inform_single_bss_data()
2353 rcu_assign_pointer(tmp.pub.beacon_ies, ies); in cfg80211_inform_single_bss_data()
2356 rcu_assign_pointer(tmp.pub.proberesp_ies, ies); in cfg80211_inform_single_bss_data()
2359 rcu_assign_pointer(tmp.pub.ies, ies); in cfg80211_inform_single_bss_data()
2367 rdev_inform_bss(rdev, &res->pub, ies, drv_data->drv_data); in cfg80211_inform_single_bss_data()
2590 ssize_t cfg80211_defragment_element(const struct element *elem, const u8 *ies, in cfg80211_defragment_element() argument
2630 elem->data < ies + ieslen && in cfg80211_defragment_element()
2631 elem->data + elem->datalen <= ies + ieslen; in cfg80211_defragment_element()
2834 const struct cfg80211_bss_ies *ies; in cfg80211_gen_reporter_rnr() local
2851 ies = rcu_dereference(source_bss->ies); in cfg80211_gen_reporter_rnr()
2863 ies->data, ies->len); in cfg80211_gen_reporter_rnr()
2887 if (cfg80211_calc_short_ssid(ies, &elem, &short_ssid)) in cfg80211_gen_reporter_rnr()
3638 const struct cfg80211_bss_ies *ies, in ieee80211_scan_add_ies() argument
3644 if (!ies) in ieee80211_scan_add_ies()
3651 pos = ies->data; in ieee80211_scan_add_ies()
3652 end = pos + ies->len; in ieee80211_scan_add_ies()
3689 const struct cfg80211_bss_ies *ies; in ieee80211_bss() local
3771 ies = rcu_dereference(bss->pub.ies); in ieee80211_bss()
3772 rem = ies->len; in ieee80211_bss()
3773 ie = ies->data; in ieee80211_bss()
3925 (unsigned long long)(ies->tsf)); in ieee80211_bss()
3939 current_ev = ieee80211_scan_add_ies(info, ies, current_ev, end_buf); in ieee80211_bss()