Lines Matching full:pub

84 	ies = (void *)rcu_access_pointer(bss->pub.beacon_ies);  in bss_free()
85 if (ies && !bss->pub.hidden_beacon_bss) in bss_free()
87 ies = (void *)rcu_access_pointer(bss->pub.proberesp_ies); in bss_free()
107 if (bss->pub.hidden_beacon_bss) { in bss_ref_get()
108 bss = container_of(bss->pub.hidden_beacon_bss, in bss_ref_get()
110 pub); in bss_ref_get()
113 if (bss->pub.transmitted_bss) { in bss_ref_get()
114 bss = container_of(bss->pub.transmitted_bss, in bss_ref_get()
116 pub); in bss_ref_get()
126 if (bss->pub.hidden_beacon_bss) { in bss_ref_put()
128 hbss = container_of(bss->pub.hidden_beacon_bss, in bss_ref_put()
130 pub); in bss_ref_put()
136 if (bss->pub.transmitted_bss) { in bss_ref_put()
139 tbss = container_of(bss->pub.transmitted_bss, in bss_ref_put()
141 pub); in bss_ref_put()
162 if (!bss->pub.hidden_beacon_bss) in __cfg80211_unlink_bss()
172 list_del_init(&bss->pub.nontrans_list); in __cfg80211_unlink_bss()
429 !bss->pub.hidden_beacon_bss) in cfg80211_bss_expire_oldest()
931 if (!cfg80211_bss_type_match(bss->pub.capability, in cfg80211_get_bss()
932 bss->pub.channel->band, bss_type)) in cfg80211_get_bss()
935 bss_privacy = (bss->pub.capability & WLAN_CAPABILITY_PRIVACY); in cfg80211_get_bss()
939 if (channel && bss->pub.channel != channel) in cfg80211_get_bss()
941 if (!is_valid_ether_addr(bss->pub.bssid)) in cfg80211_get_bss()
947 if (is_bss(&bss->pub, bssid, ssid, ssid_len)) { in cfg80211_get_bss()
957 trace_cfg80211_return_bss(&res->pub); in cfg80211_get_bss()
958 return &res->pub; in cfg80211_get_bss()
974 cmp = cmp_bss(&bss->pub, &tbss->pub, BSS_CMP_REGULAR); in rb_insert_bss()
1002 r = cmp_bss(&res->pub, &bss->pub, mode); in rb_find_bss()
1025 ies = rcu_access_pointer(new->pub.beacon_ies); in cfg80211_combine_bsses()
1053 if (!ether_addr_equal(bss->pub.bssid, new->pub.bssid)) in cfg80211_combine_bsses()
1055 if (bss->pub.channel != new->pub.channel) in cfg80211_combine_bsses()
1057 if (bss->pub.scan_width != new->pub.scan_width) in cfg80211_combine_bsses()
1059 if (rcu_access_pointer(bss->pub.beacon_ies)) in cfg80211_combine_bsses()
1061 ies = rcu_access_pointer(bss->pub.ies); in cfg80211_combine_bsses()
1069 if (WARN_ON_ONCE(bss->pub.hidden_beacon_bss)) in cfg80211_combine_bsses()
1075 bss->pub.hidden_beacon_bss = &new->pub; in cfg80211_combine_bsses()
1077 rcu_assign_pointer(bss->pub.beacon_ies, in cfg80211_combine_bsses()
1078 new->pub.beacon_ies); in cfg80211_combine_bsses()
1103 if (rcu_access_pointer(new->pub.proberesp_ies)) { in cfg80211_update_known_bss()
1106 old = rcu_access_pointer(known->pub.proberesp_ies); in cfg80211_update_known_bss()
1108 rcu_assign_pointer(known->pub.proberesp_ies, in cfg80211_update_known_bss()
1109 new->pub.proberesp_ies); in cfg80211_update_known_bss()
1111 rcu_assign_pointer(known->pub.ies, in cfg80211_update_known_bss()
1112 new->pub.proberesp_ies); in cfg80211_update_known_bss()
1115 } else if (rcu_access_pointer(new->pub.beacon_ies)) { in cfg80211_update_known_bss()
1119 if (known->pub.hidden_beacon_bss && in cfg80211_update_known_bss()
1132 f = rcu_access_pointer(new->pub.beacon_ies); in cfg80211_update_known_bss()
1137 old = rcu_access_pointer(known->pub.beacon_ies); in cfg80211_update_known_bss()
1139 rcu_assign_pointer(known->pub.beacon_ies, new->pub.beacon_ies); in cfg80211_update_known_bss()
1142 if (old == rcu_access_pointer(known->pub.ies)) in cfg80211_update_known_bss()
1143 rcu_assign_pointer(known->pub.ies, new->pub.beacon_ies); in cfg80211_update_known_bss()
1149 ies = rcu_access_pointer(bss->pub.beacon_ies); in cfg80211_update_known_bss()
1152 rcu_assign_pointer(bss->pub.beacon_ies, in cfg80211_update_known_bss()
1153 new->pub.beacon_ies); in cfg80211_update_known_bss()
1160 known->pub.beacon_interval = new->pub.beacon_interval; in cfg80211_update_known_bss()
1166 known->pub.signal = new->pub.signal; in cfg80211_update_known_bss()
1167 known->pub.capability = new->pub.capability; in cfg80211_update_known_bss()
1171 known->pub.chains = new->pub.chains; in cfg80211_update_known_bss()
1172 memcpy(known->pub.chain_signal, new->pub.chain_signal, in cfg80211_update_known_bss()
1175 known->pub.max_bssid_indicator = new->pub.max_bssid_indicator; in cfg80211_update_known_bss()
1176 known->pub.bssid_index = new->pub.bssid_index; in cfg80211_update_known_bss()
1189 if (WARN_ON(!tmp->pub.channel)) in cfg80211_bss_update()
1196 if (WARN_ON(!rcu_access_pointer(tmp->pub.ies))) { in cfg80211_bss_update()
1219 ies = (void *)rcu_dereference(tmp->pub.beacon_ies); in cfg80211_bss_update()
1222 ies = (void *)rcu_dereference(tmp->pub.proberesp_ies); in cfg80211_bss_update()
1230 INIT_LIST_HEAD(&new->pub.nontrans_list); in cfg80211_bss_update()
1232 if (rcu_access_pointer(tmp->pub.proberesp_ies)) { in cfg80211_bss_update()
1238 new->pub.hidden_beacon_bss = &hidden->pub; in cfg80211_bss_update()
1242 rcu_assign_pointer(new->pub.beacon_ies, in cfg80211_bss_update()
1243 hidden->pub.beacon_ies); in cfg80211_bss_update()
1265 if (tmp->pub.transmitted_bss) { in cfg80211_bss_update()
1267 container_of(tmp->pub.transmitted_bss, in cfg80211_bss_update()
1269 pub); in cfg80211_bss_update()
1271 new->pub.transmitted_bss = tmp->pub.transmitted_bss; in cfg80211_bss_update()
1392 memcpy(tmp.pub.bssid, bssid, ETH_ALEN); in cfg80211_inform_single_bss_data()
1393 tmp.pub.channel = channel; in cfg80211_inform_single_bss_data()
1394 tmp.pub.scan_width = data->scan_width; in cfg80211_inform_single_bss_data()
1395 tmp.pub.signal = data->signal; in cfg80211_inform_single_bss_data()
1396 tmp.pub.beacon_interval = beacon_interval; in cfg80211_inform_single_bss_data()
1397 tmp.pub.capability = capability; in cfg80211_inform_single_bss_data()
1400 tmp.pub.transmitted_bss = non_tx_data->tx_bss; in cfg80211_inform_single_bss_data()
1402 tmp.pub.bssid_index = non_tx_data->bssid_index; in cfg80211_inform_single_bss_data()
1403 tmp.pub.max_bssid_indicator = non_tx_data->max_bssid_indicator; in cfg80211_inform_single_bss_data()
1429 rcu_assign_pointer(tmp.pub.beacon_ies, ies); in cfg80211_inform_single_bss_data()
1432 rcu_assign_pointer(tmp.pub.proberesp_ies, ies); in cfg80211_inform_single_bss_data()
1435 rcu_assign_pointer(tmp.pub.ies, ies); in cfg80211_inform_single_bss_data()
1444 bss_type = res->pub.capability & WLAN_CAPABILITY_DMG_TYPE_MASK; in cfg80211_inform_single_bss_data()
1449 if (res->pub.capability & WLAN_CAPABILITY_ESS) in cfg80211_inform_single_bss_data()
1458 &res->pub)) { in cfg80211_inform_single_bss_data()
1464 trace_cfg80211_return_bss(&res->pub); in cfg80211_inform_single_bss_data()
1466 return &res->pub; in cfg80211_inform_single_bss_data()
1838 rcu_assign_pointer(tmp.pub.proberesp_ies, ies); in cfg80211_inform_single_bss_frame_data()
1840 rcu_assign_pointer(tmp.pub.beacon_ies, ies); in cfg80211_inform_single_bss_frame_data()
1841 rcu_assign_pointer(tmp.pub.ies, ies); in cfg80211_inform_single_bss_frame_data()
1843 memcpy(tmp.pub.bssid, mgmt->bssid, ETH_ALEN); in cfg80211_inform_single_bss_frame_data()
1844 tmp.pub.channel = channel; in cfg80211_inform_single_bss_frame_data()
1845 tmp.pub.scan_width = data->scan_width; in cfg80211_inform_single_bss_frame_data()
1846 tmp.pub.signal = data->signal; in cfg80211_inform_single_bss_frame_data()
1847 tmp.pub.beacon_interval = le16_to_cpu(mgmt->u.probe_resp.beacon_int); in cfg80211_inform_single_bss_frame_data()
1848 tmp.pub.capability = le16_to_cpu(mgmt->u.probe_resp.capab_info); in cfg80211_inform_single_bss_frame_data()
1851 tmp.pub.chains = data->chains; in cfg80211_inform_single_bss_frame_data()
1852 memcpy(tmp.pub.chain_signal, data->chain_signal, IEEE80211_MAX_CHAINS); in cfg80211_inform_single_bss_frame_data()
1863 bss_type = res->pub.capability & WLAN_CAPABILITY_DMG_TYPE_MASK; in cfg80211_inform_single_bss_frame_data()
1868 if (res->pub.capability & WLAN_CAPABILITY_ESS) in cfg80211_inform_single_bss_frame_data()
1872 trace_cfg80211_return_bss(&res->pub); in cfg80211_inform_single_bss_frame_data()
1874 return &res->pub; in cfg80211_inform_single_bss_frame_data()
1928 void cfg80211_ref_bss(struct wiphy *wiphy, struct cfg80211_bss *pub) in cfg80211_ref_bss() argument
1933 if (!pub) in cfg80211_ref_bss()
1936 bss = container_of(pub, struct cfg80211_internal_bss, pub); in cfg80211_ref_bss()
1944 void cfg80211_put_bss(struct wiphy *wiphy, struct cfg80211_bss *pub) in cfg80211_put_bss() argument
1949 if (!pub) in cfg80211_put_bss()
1952 bss = container_of(pub, struct cfg80211_internal_bss, pub); in cfg80211_put_bss()
1960 void cfg80211_unlink_bss(struct wiphy *wiphy, struct cfg80211_bss *pub) in cfg80211_unlink_bss() argument
1966 if (WARN_ON(!pub)) in cfg80211_unlink_bss()
1969 bss = container_of(pub, struct cfg80211_internal_bss, pub); in cfg80211_unlink_bss()
1976 &pub->nontrans_list, in cfg80211_unlink_bss()
1979 struct cfg80211_internal_bss, pub); in cfg80211_unlink_bss()
2004 if (!chandef || cfg80211_is_sub_chan(chandef, bss->pub.channel)) in cfg80211_bss_iter()
2005 iter(wiphy, &bss->pub, iter_data); in cfg80211_bss_iter()
2025 if (WARN_ON(cbss->pub.channel == chan)) in cfg80211_update_assoc_bss_entry()
2029 if (cbss->pub.transmitted_bss) in cfg80211_update_assoc_bss_entry()
2030 cbss = container_of(cbss->pub.transmitted_bss, in cfg80211_update_assoc_bss_entry()
2032 pub); in cfg80211_update_assoc_bss_entry()
2034 cbss->pub.channel = chan; in cfg80211_update_assoc_bss_entry()
2037 if (!cfg80211_bss_type_match(bss->pub.capability, in cfg80211_update_assoc_bss_entry()
2038 bss->pub.channel->band, in cfg80211_update_assoc_bss_entry()
2045 if (!cmp_bss(&bss->pub, &cbss->pub, BSS_CMP_REGULAR)) { in cfg80211_update_assoc_bss_entry()
2054 new->pub.proberesp_ies = NULL; in cfg80211_update_assoc_bss_entry()
2055 new->pub.beacon_ies = NULL; in cfg80211_update_assoc_bss_entry()
2059 &new->pub.nontrans_list, in cfg80211_update_assoc_bss_entry()
2062 struct cfg80211_internal_bss, pub); in cfg80211_update_assoc_bss_entry()
2077 &cbss->pub.nontrans_list, in cfg80211_update_assoc_bss_entry()
2080 struct cfg80211_internal_bss, pub); in cfg80211_update_assoc_bss_entry()
2081 bss->pub.channel = chan; in cfg80211_update_assoc_bss_entry()
2310 memcpy(iwe.u.ap_addr.sa_data, bss->pub.bssid, ETH_ALEN); in ieee80211_bss()
2318 iwe.u.freq.m = ieee80211_frequency_to_channel(bss->pub.channel->center_freq); in ieee80211_bss()
2327 iwe.u.freq.m = bss->pub.channel->center_freq; in ieee80211_bss()
2342 sig = bss->pub.signal / 100; in ieee80211_bss()
2353 iwe.u.qual.level = bss->pub.signal; in ieee80211_bss()
2355 iwe.u.qual.qual = bss->pub.signal; in ieee80211_bss()
2370 if (bss->pub.capability & WLAN_CAPABILITY_PRIVACY) in ieee80211_bss()
2381 ies = rcu_dereference(bss->pub.ies); in ieee80211_bss()
2511 if (bss->pub.capability & (WLAN_CAPABILITY_ESS | WLAN_CAPABILITY_IBSS) || in ieee80211_bss()
2517 else if (bss->pub.capability & WLAN_CAPABILITY_ESS) in ieee80211_bss()