Lines Matching refs:ies

120 	struct cfg80211_bss_ies *ies;  in bss_free()  local
125 ies = (void *)rcu_access_pointer(bss->pub.beacon_ies); in bss_free()
126 if (ies && !bss->pub.hidden_beacon_bss) in bss_free()
127 kfree_rcu(ies, rcu_head); in bss_free()
128 ies = (void *)rcu_access_pointer(bss->pub.proberesp_ies); in bss_free()
129 if (ies) in bss_free()
130 kfree_rcu(ies, rcu_head); in bss_free()
420 const struct cfg80211_bss_ies *ies; in is_bss() local
429 ies = rcu_access_pointer(a->ies); in is_bss()
430 if (!ies) in is_bss()
432 ssid_elem = cfg80211_find_elem(WLAN_EID_SSID, ies->data, ies->len); in is_bss()
554 static int cfg80211_calc_short_ssid(const struct cfg80211_bss_ies *ies, in cfg80211_calc_short_ssid() argument
558 *elem = cfg80211_find_elem(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_calc_short_ssid()
648 static int cfg80211_parse_colocated_ap(const struct cfg80211_bss_ies *ies, in cfg80211_parse_colocated_ap() argument
658 ret = cfg80211_calc_short_ssid(ies, &ssid_elem, &s_ssid_tmp); in cfg80211_parse_colocated_ap()
663 ies->data, ies->len) { in cfg80211_parse_colocated_ap()
832 const struct cfg80211_bss_ies *ies; in cfg80211_scan_6ghz() local
834 ies = rcu_access_pointer(res->ies); in cfg80211_scan_6ghz()
835 count += cfg80211_parse_colocated_ap(ies, in cfg80211_scan_6ghz()
1304 cfg80211_find_elem_match(u8 eid, const u8 *ies, unsigned int len, in cfg80211_find_elem_match() argument
1310 for_each_element_id(elem, eid, ies, len) { in cfg80211_find_elem_match()
1321 const u8 *ies, in cfg80211_find_vendor_elem() argument
1331 elem = cfg80211_find_elem_match(WLAN_EID_VENDOR_SPECIFIC, ies, len, in cfg80211_find_vendor_elem()
1366 a_ies = rcu_access_pointer(a->ies); in cmp_bss()
1369 b_ies = rcu_access_pointer(b->ies); in cmp_bss()
1606 const struct cfg80211_bss_ies *ies; in cfg80211_combine_bsses() local
1613 ies = rcu_access_pointer(new->pub.beacon_ies); in cfg80211_combine_bsses()
1614 if (WARN_ON(!ies)) in cfg80211_combine_bsses()
1617 ie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_combine_bsses()
1649 ies = rcu_access_pointer(bss->pub.ies); in cfg80211_combine_bsses()
1650 if (!ies) in cfg80211_combine_bsses()
1652 ie = cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); in cfg80211_combine_bsses()
1684 const struct cfg80211_bss_ies *ies; in cfg80211_update_hidden_bsses() local
1686 ies = rcu_access_pointer(bss->pub.beacon_ies); in cfg80211_update_hidden_bsses()
1687 WARN_ON(ies != old_ies); in cfg80211_update_hidden_bsses()
1710 rcu_assign_pointer(known->pub.ies, in cfg80211_update_known_bss()
1740 if (old == rcu_access_pointer(known->pub.ies)) in cfg80211_update_known_bss()
1741 rcu_assign_pointer(known->pub.ies, new->pub.beacon_ies); in cfg80211_update_known_bss()
1785 if (WARN_ON(!rcu_access_pointer(tmp->pub.ies))) { in __cfg80211_bss_update()
1797 struct cfg80211_bss_ies *ies; in __cfg80211_bss_update() local
1807 ies = (void *)rcu_dereference(tmp->pub.beacon_ies); in __cfg80211_bss_update()
1808 if (ies) in __cfg80211_bss_update()
1809 kfree_rcu(ies, rcu_head); in __cfg80211_bss_update()
1810 ies = (void *)rcu_dereference(tmp->pub.proberesp_ies); in __cfg80211_bss_update()
1811 if (ies) in __cfg80211_bss_update()
1812 kfree_rcu(ies, rcu_head); in __cfg80211_bss_update()
2033 struct cfg80211_bss_ies *ies; in cfg80211_inform_single_bss_data() local
2101 ies = kzalloc(sizeof(*ies) + data->ielen, gfp); in cfg80211_inform_single_bss_data()
2102 if (!ies) in cfg80211_inform_single_bss_data()
2104 ies->len = data->ielen; in cfg80211_inform_single_bss_data()
2105 ies->tsf = data->tsf; in cfg80211_inform_single_bss_data()
2106 ies->from_beacon = false; in cfg80211_inform_single_bss_data()
2107 memcpy(ies->data, data->ie, data->ielen); in cfg80211_inform_single_bss_data()
2111 ies->from_beacon = true; in cfg80211_inform_single_bss_data()
2114 rcu_assign_pointer(tmp.pub.beacon_ies, ies); in cfg80211_inform_single_bss_data()
2117 rcu_assign_pointer(tmp.pub.proberesp_ies, ies); in cfg80211_inform_single_bss_data()
2120 rcu_assign_pointer(tmp.pub.ies, ies); in cfg80211_inform_single_bss_data()
2128 rdev_inform_bss(rdev, &res->pub, ies, drv_data->drv_data); in cfg80211_inform_single_bss_data()
2348 ssize_t cfg80211_defragment_element(const struct element *elem, const u8 *ies, in cfg80211_defragment_element() argument
2382 elem->data < ies + ieslen && in cfg80211_defragment_element()
2383 elem->data + elem->datalen < ies + ieslen; in cfg80211_defragment_element()
2776 struct cfg80211_bss_ies *ies; in cfg80211_inform_single_bss_frame_data() local
2856 ies = kzalloc(sizeof(*ies) + ielen, gfp); in cfg80211_inform_single_bss_frame_data()
2857 if (!ies) in cfg80211_inform_single_bss_frame_data()
2859 ies->len = ielen; in cfg80211_inform_single_bss_frame_data()
2860 ies->tsf = le64_to_cpu(mgmt->u.probe_resp.timestamp); in cfg80211_inform_single_bss_frame_data()
2861 ies->from_beacon = ieee80211_is_beacon(mgmt->frame_control) || in cfg80211_inform_single_bss_frame_data()
2863 memcpy(ies->data, variable, ielen); in cfg80211_inform_single_bss_frame_data()
2866 rcu_assign_pointer(tmp.pub.proberesp_ies, ies); in cfg80211_inform_single_bss_frame_data()
2868 rcu_assign_pointer(tmp.pub.beacon_ies, ies); in cfg80211_inform_single_bss_frame_data()
2869 rcu_assign_pointer(tmp.pub.ies, ies); in cfg80211_inform_single_bss_frame_data()
2889 rdev_inform_bss(rdev, &res->pub, ies, data->drv_data); in cfg80211_inform_single_bss_frame_data()
3255 const struct cfg80211_bss_ies *ies, in ieee80211_scan_add_ies() argument
3261 if (!ies) in ieee80211_scan_add_ies()
3268 pos = ies->data; in ieee80211_scan_add_ies()
3269 end = pos + ies->len; in ieee80211_scan_add_ies()
3306 const struct cfg80211_bss_ies *ies; in ieee80211_bss() local
3388 ies = rcu_dereference(bss->pub.ies); in ieee80211_bss()
3389 rem = ies->len; in ieee80211_bss()
3390 ie = ies->data; in ieee80211_bss()
3537 sprintf(buf, "tsf=%016llx", (unsigned long long)(ies->tsf)); in ieee80211_bss()
3553 current_ev = ieee80211_scan_add_ies(info, ies, current_ev, end_buf); in ieee80211_bss()