Lines Matching full:pub
83 ies = (void *)rcu_access_pointer(bss->pub.beacon_ies); in bss_free()
84 if (ies && !bss->pub.hidden_beacon_bss) in bss_free()
86 ies = (void *)rcu_access_pointer(bss->pub.proberesp_ies); in bss_free()
106 if (bss->pub.hidden_beacon_bss) { in bss_ref_get()
107 bss = container_of(bss->pub.hidden_beacon_bss, in bss_ref_get()
109 pub); in bss_ref_get()
119 if (bss->pub.hidden_beacon_bss) { in bss_ref_put()
121 hbss = container_of(bss->pub.hidden_beacon_bss, in bss_ref_put()
123 pub); in bss_ref_put()
143 if (!bss->pub.hidden_beacon_bss) in __cfg80211_unlink_bss()
196 !bss->pub.hidden_beacon_bss) in cfg80211_bss_expire_oldest()
726 if (!cfg80211_bss_type_match(bss->pub.capability, in cfg80211_get_bss()
727 bss->pub.channel->band, bss_type)) in cfg80211_get_bss()
730 bss_privacy = (bss->pub.capability & WLAN_CAPABILITY_PRIVACY); in cfg80211_get_bss()
734 if (channel && bss->pub.channel != channel) in cfg80211_get_bss()
736 if (!is_valid_ether_addr(bss->pub.bssid)) in cfg80211_get_bss()
742 if (is_bss(&bss->pub, bssid, ssid, ssid_len)) { in cfg80211_get_bss()
752 trace_cfg80211_return_bss(&res->pub); in cfg80211_get_bss()
753 return &res->pub; in cfg80211_get_bss()
769 cmp = cmp_bss(&bss->pub, &tbss->pub, BSS_CMP_REGULAR); in rb_insert_bss()
797 r = cmp_bss(&res->pub, &bss->pub, mode); in rb_find_bss()
820 ies = rcu_access_pointer(new->pub.beacon_ies); in cfg80211_combine_bsses()
848 if (!ether_addr_equal(bss->pub.bssid, new->pub.bssid)) in cfg80211_combine_bsses()
850 if (bss->pub.channel != new->pub.channel) in cfg80211_combine_bsses()
852 if (bss->pub.scan_width != new->pub.scan_width) in cfg80211_combine_bsses()
854 if (rcu_access_pointer(bss->pub.beacon_ies)) in cfg80211_combine_bsses()
856 ies = rcu_access_pointer(bss->pub.ies); in cfg80211_combine_bsses()
864 if (WARN_ON_ONCE(bss->pub.hidden_beacon_bss)) in cfg80211_combine_bsses()
870 bss->pub.hidden_beacon_bss = &new->pub; in cfg80211_combine_bsses()
872 rcu_assign_pointer(bss->pub.beacon_ies, in cfg80211_combine_bsses()
873 new->pub.beacon_ies); in cfg80211_combine_bsses()
891 if (WARN_ON(!tmp->pub.channel)) in cfg80211_bss_update()
898 if (WARN_ON(!rcu_access_pointer(tmp->pub.ies))) { in cfg80211_bss_update()
907 if (rcu_access_pointer(tmp->pub.proberesp_ies)) { in cfg80211_bss_update()
910 old = rcu_access_pointer(found->pub.proberesp_ies); in cfg80211_bss_update()
912 rcu_assign_pointer(found->pub.proberesp_ies, in cfg80211_bss_update()
913 tmp->pub.proberesp_ies); in cfg80211_bss_update()
915 rcu_assign_pointer(found->pub.ies, in cfg80211_bss_update()
916 tmp->pub.proberesp_ies); in cfg80211_bss_update()
920 } else if (rcu_access_pointer(tmp->pub.beacon_ies)) { in cfg80211_bss_update()
924 if (found->pub.hidden_beacon_bss && in cfg80211_bss_update()
938 f = rcu_access_pointer(tmp->pub.beacon_ies); in cfg80211_bss_update()
944 old = rcu_access_pointer(found->pub.beacon_ies); in cfg80211_bss_update()
946 rcu_assign_pointer(found->pub.beacon_ies, in cfg80211_bss_update()
947 tmp->pub.beacon_ies); in cfg80211_bss_update()
950 if (old == rcu_access_pointer(found->pub.ies)) in cfg80211_bss_update()
951 rcu_assign_pointer(found->pub.ies, in cfg80211_bss_update()
952 tmp->pub.beacon_ies); in cfg80211_bss_update()
959 ies = rcu_access_pointer(bss->pub.beacon_ies); in cfg80211_bss_update()
962 rcu_assign_pointer(bss->pub.beacon_ies, in cfg80211_bss_update()
963 tmp->pub.beacon_ies); in cfg80211_bss_update()
971 found->pub.beacon_interval = tmp->pub.beacon_interval; in cfg80211_bss_update()
977 found->pub.signal = tmp->pub.signal; in cfg80211_bss_update()
978 found->pub.capability = tmp->pub.capability; in cfg80211_bss_update()
982 found->pub.chains = tmp->pub.chains; in cfg80211_bss_update()
983 memcpy(found->pub.chain_signal, tmp->pub.chain_signal, in cfg80211_bss_update()
999 ies = (void *)rcu_dereference(tmp->pub.beacon_ies); in cfg80211_bss_update()
1002 ies = (void *)rcu_dereference(tmp->pub.proberesp_ies); in cfg80211_bss_update()
1011 if (rcu_access_pointer(tmp->pub.proberesp_ies)) { in cfg80211_bss_update()
1017 new->pub.hidden_beacon_bss = &hidden->pub; in cfg80211_bss_update()
1021 rcu_assign_pointer(new->pub.beacon_ies, in cfg80211_bss_update()
1022 hidden->pub.beacon_ies); in cfg80211_bss_update()
1157 memcpy(tmp.pub.bssid, bssid, ETH_ALEN); in cfg80211_inform_bss_data()
1158 tmp.pub.channel = channel; in cfg80211_inform_bss_data()
1159 tmp.pub.scan_width = data->scan_width; in cfg80211_inform_bss_data()
1160 tmp.pub.signal = data->signal; in cfg80211_inform_bss_data()
1161 tmp.pub.beacon_interval = beacon_interval; in cfg80211_inform_bss_data()
1162 tmp.pub.capability = capability; in cfg80211_inform_bss_data()
1186 rcu_assign_pointer(tmp.pub.beacon_ies, ies); in cfg80211_inform_bss_data()
1189 rcu_assign_pointer(tmp.pub.proberesp_ies, ies); in cfg80211_inform_bss_data()
1192 rcu_assign_pointer(tmp.pub.ies, ies); in cfg80211_inform_bss_data()
1201 bss_type = res->pub.capability & WLAN_CAPABILITY_DMG_TYPE_MASK; in cfg80211_inform_bss_data()
1206 if (res->pub.capability & WLAN_CAPABILITY_ESS) in cfg80211_inform_bss_data()
1210 trace_cfg80211_return_bss(&res->pub); in cfg80211_inform_bss_data()
1212 return &res->pub; in cfg80211_inform_bss_data()
1264 rcu_assign_pointer(tmp.pub.proberesp_ies, ies); in cfg80211_inform_bss_frame_data()
1266 rcu_assign_pointer(tmp.pub.beacon_ies, ies); in cfg80211_inform_bss_frame_data()
1267 rcu_assign_pointer(tmp.pub.ies, ies); in cfg80211_inform_bss_frame_data()
1269 memcpy(tmp.pub.bssid, mgmt->bssid, ETH_ALEN); in cfg80211_inform_bss_frame_data()
1270 tmp.pub.channel = channel; in cfg80211_inform_bss_frame_data()
1271 tmp.pub.scan_width = data->scan_width; in cfg80211_inform_bss_frame_data()
1272 tmp.pub.signal = data->signal; in cfg80211_inform_bss_frame_data()
1273 tmp.pub.beacon_interval = le16_to_cpu(mgmt->u.probe_resp.beacon_int); in cfg80211_inform_bss_frame_data()
1274 tmp.pub.capability = le16_to_cpu(mgmt->u.probe_resp.capab_info); in cfg80211_inform_bss_frame_data()
1277 tmp.pub.chains = data->chains; in cfg80211_inform_bss_frame_data()
1278 memcpy(tmp.pub.chain_signal, data->chain_signal, IEEE80211_MAX_CHAINS); in cfg80211_inform_bss_frame_data()
1288 bss_type = res->pub.capability & WLAN_CAPABILITY_DMG_TYPE_MASK; in cfg80211_inform_bss_frame_data()
1293 if (res->pub.capability & WLAN_CAPABILITY_ESS) in cfg80211_inform_bss_frame_data()
1297 trace_cfg80211_return_bss(&res->pub); in cfg80211_inform_bss_frame_data()
1299 return &res->pub; in cfg80211_inform_bss_frame_data()
1303 void cfg80211_ref_bss(struct wiphy *wiphy, struct cfg80211_bss *pub) in cfg80211_ref_bss() argument
1308 if (!pub) in cfg80211_ref_bss()
1311 bss = container_of(pub, struct cfg80211_internal_bss, pub); in cfg80211_ref_bss()
1319 void cfg80211_put_bss(struct wiphy *wiphy, struct cfg80211_bss *pub) in cfg80211_put_bss() argument
1324 if (!pub) in cfg80211_put_bss()
1327 bss = container_of(pub, struct cfg80211_internal_bss, pub); in cfg80211_put_bss()
1335 void cfg80211_unlink_bss(struct wiphy *wiphy, struct cfg80211_bss *pub) in cfg80211_unlink_bss() argument
1340 if (WARN_ON(!pub)) in cfg80211_unlink_bss()
1343 bss = container_of(pub, struct cfg80211_internal_bss, pub); in cfg80211_unlink_bss()
1573 memcpy(iwe.u.ap_addr.sa_data, bss->pub.bssid, ETH_ALEN); in ieee80211_bss()
1581 iwe.u.freq.m = ieee80211_frequency_to_channel(bss->pub.channel->center_freq); in ieee80211_bss()
1590 iwe.u.freq.m = bss->pub.channel->center_freq; in ieee80211_bss()
1605 sig = bss->pub.signal / 100; in ieee80211_bss()
1616 iwe.u.qual.level = bss->pub.signal; in ieee80211_bss()
1618 iwe.u.qual.qual = bss->pub.signal; in ieee80211_bss()
1633 if (bss->pub.capability & WLAN_CAPABILITY_PRIVACY) in ieee80211_bss()
1644 ies = rcu_dereference(bss->pub.ies); in ieee80211_bss()
1774 if (bss->pub.capability & (WLAN_CAPABILITY_ESS | WLAN_CAPABILITY_IBSS) || in ieee80211_bss()
1780 else if (bss->pub.capability & WLAN_CAPABILITY_ESS) in ieee80211_bss()