Lines Matching refs: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()
728 if (!cfg80211_bss_type_match(bss->pub.capability, in cfg80211_get_bss()
729 bss->pub.channel->band, bss_type)) in cfg80211_get_bss()
732 bss_privacy = (bss->pub.capability & WLAN_CAPABILITY_PRIVACY); in cfg80211_get_bss()
736 if (channel && bss->pub.channel != channel) in cfg80211_get_bss()
738 if (!is_valid_ether_addr(bss->pub.bssid)) in cfg80211_get_bss()
744 if (is_bss(&bss->pub, bssid, ssid, ssid_len)) { in cfg80211_get_bss()
754 trace_cfg80211_return_bss(&res->pub); in cfg80211_get_bss()
755 return &res->pub; in cfg80211_get_bss()
771 cmp = cmp_bss(&bss->pub, &tbss->pub, BSS_CMP_REGULAR); in rb_insert_bss()
799 r = cmp_bss(&res->pub, &bss->pub, mode); in rb_find_bss()
822 ies = rcu_access_pointer(new->pub.beacon_ies); in cfg80211_combine_bsses()
850 if (!ether_addr_equal(bss->pub.bssid, new->pub.bssid)) in cfg80211_combine_bsses()
852 if (bss->pub.channel != new->pub.channel) in cfg80211_combine_bsses()
854 if (bss->pub.scan_width != new->pub.scan_width) in cfg80211_combine_bsses()
856 if (rcu_access_pointer(bss->pub.beacon_ies)) in cfg80211_combine_bsses()
858 ies = rcu_access_pointer(bss->pub.ies); in cfg80211_combine_bsses()
866 if (WARN_ON_ONCE(bss->pub.hidden_beacon_bss)) in cfg80211_combine_bsses()
872 bss->pub.hidden_beacon_bss = &new->pub; in cfg80211_combine_bsses()
874 rcu_assign_pointer(bss->pub.beacon_ies, in cfg80211_combine_bsses()
875 new->pub.beacon_ies); in cfg80211_combine_bsses()
893 if (WARN_ON(!tmp->pub.channel)) in cfg80211_bss_update()
900 if (WARN_ON(!rcu_access_pointer(tmp->pub.ies))) { in cfg80211_bss_update()
909 if (rcu_access_pointer(tmp->pub.proberesp_ies)) { in cfg80211_bss_update()
912 old = rcu_access_pointer(found->pub.proberesp_ies); in cfg80211_bss_update()
914 rcu_assign_pointer(found->pub.proberesp_ies, in cfg80211_bss_update()
915 tmp->pub.proberesp_ies); in cfg80211_bss_update()
917 rcu_assign_pointer(found->pub.ies, in cfg80211_bss_update()
918 tmp->pub.proberesp_ies); in cfg80211_bss_update()
922 } else if (rcu_access_pointer(tmp->pub.beacon_ies)) { in cfg80211_bss_update()
926 if (found->pub.hidden_beacon_bss && in cfg80211_bss_update()
940 f = rcu_access_pointer(tmp->pub.beacon_ies); in cfg80211_bss_update()
946 old = rcu_access_pointer(found->pub.beacon_ies); in cfg80211_bss_update()
948 rcu_assign_pointer(found->pub.beacon_ies, in cfg80211_bss_update()
949 tmp->pub.beacon_ies); in cfg80211_bss_update()
952 if (old == rcu_access_pointer(found->pub.ies)) in cfg80211_bss_update()
953 rcu_assign_pointer(found->pub.ies, in cfg80211_bss_update()
954 tmp->pub.beacon_ies); in cfg80211_bss_update()
961 ies = rcu_access_pointer(bss->pub.beacon_ies); in cfg80211_bss_update()
964 rcu_assign_pointer(bss->pub.beacon_ies, in cfg80211_bss_update()
965 tmp->pub.beacon_ies); in cfg80211_bss_update()
973 found->pub.beacon_interval = tmp->pub.beacon_interval; in cfg80211_bss_update()
979 found->pub.signal = tmp->pub.signal; in cfg80211_bss_update()
980 found->pub.capability = tmp->pub.capability; in cfg80211_bss_update()
984 found->pub.chains = tmp->pub.chains; in cfg80211_bss_update()
985 memcpy(found->pub.chain_signal, tmp->pub.chain_signal, in cfg80211_bss_update()
1001 ies = (void *)rcu_dereference(tmp->pub.beacon_ies); in cfg80211_bss_update()
1004 ies = (void *)rcu_dereference(tmp->pub.proberesp_ies); in cfg80211_bss_update()
1013 if (rcu_access_pointer(tmp->pub.proberesp_ies)) { in cfg80211_bss_update()
1019 new->pub.hidden_beacon_bss = &hidden->pub; in cfg80211_bss_update()
1023 rcu_assign_pointer(new->pub.beacon_ies, in cfg80211_bss_update()
1024 hidden->pub.beacon_ies); in cfg80211_bss_update()
1159 memcpy(tmp.pub.bssid, bssid, ETH_ALEN); in cfg80211_inform_bss_data()
1160 tmp.pub.channel = channel; in cfg80211_inform_bss_data()
1161 tmp.pub.scan_width = data->scan_width; in cfg80211_inform_bss_data()
1162 tmp.pub.signal = data->signal; in cfg80211_inform_bss_data()
1163 tmp.pub.beacon_interval = beacon_interval; in cfg80211_inform_bss_data()
1164 tmp.pub.capability = capability; in cfg80211_inform_bss_data()
1188 rcu_assign_pointer(tmp.pub.beacon_ies, ies); in cfg80211_inform_bss_data()
1191 rcu_assign_pointer(tmp.pub.proberesp_ies, ies); in cfg80211_inform_bss_data()
1194 rcu_assign_pointer(tmp.pub.ies, ies); in cfg80211_inform_bss_data()
1203 bss_type = res->pub.capability & WLAN_CAPABILITY_DMG_TYPE_MASK; in cfg80211_inform_bss_data()
1208 if (res->pub.capability & WLAN_CAPABILITY_ESS) in cfg80211_inform_bss_data()
1212 trace_cfg80211_return_bss(&res->pub); in cfg80211_inform_bss_data()
1214 return &res->pub; in cfg80211_inform_bss_data()
1266 rcu_assign_pointer(tmp.pub.proberesp_ies, ies); in cfg80211_inform_bss_frame_data()
1268 rcu_assign_pointer(tmp.pub.beacon_ies, ies); in cfg80211_inform_bss_frame_data()
1269 rcu_assign_pointer(tmp.pub.ies, ies); in cfg80211_inform_bss_frame_data()
1271 memcpy(tmp.pub.bssid, mgmt->bssid, ETH_ALEN); in cfg80211_inform_bss_frame_data()
1272 tmp.pub.channel = channel; in cfg80211_inform_bss_frame_data()
1273 tmp.pub.scan_width = data->scan_width; in cfg80211_inform_bss_frame_data()
1274 tmp.pub.signal = data->signal; in cfg80211_inform_bss_frame_data()
1275 tmp.pub.beacon_interval = le16_to_cpu(mgmt->u.probe_resp.beacon_int); in cfg80211_inform_bss_frame_data()
1276 tmp.pub.capability = le16_to_cpu(mgmt->u.probe_resp.capab_info); in cfg80211_inform_bss_frame_data()
1279 tmp.pub.chains = data->chains; in cfg80211_inform_bss_frame_data()
1280 memcpy(tmp.pub.chain_signal, data->chain_signal, IEEE80211_MAX_CHAINS); in cfg80211_inform_bss_frame_data()
1290 bss_type = res->pub.capability & WLAN_CAPABILITY_DMG_TYPE_MASK; in cfg80211_inform_bss_frame_data()
1295 if (res->pub.capability & WLAN_CAPABILITY_ESS) in cfg80211_inform_bss_frame_data()
1299 trace_cfg80211_return_bss(&res->pub); in cfg80211_inform_bss_frame_data()
1301 return &res->pub; in cfg80211_inform_bss_frame_data()
1305 void cfg80211_ref_bss(struct wiphy *wiphy, struct cfg80211_bss *pub) in cfg80211_ref_bss() argument
1310 if (!pub) in cfg80211_ref_bss()
1313 bss = container_of(pub, struct cfg80211_internal_bss, pub); in cfg80211_ref_bss()
1321 void cfg80211_put_bss(struct wiphy *wiphy, struct cfg80211_bss *pub) in cfg80211_put_bss() argument
1326 if (!pub) in cfg80211_put_bss()
1329 bss = container_of(pub, struct cfg80211_internal_bss, pub); in cfg80211_put_bss()
1337 void cfg80211_unlink_bss(struct wiphy *wiphy, struct cfg80211_bss *pub) in cfg80211_unlink_bss() argument
1342 if (WARN_ON(!pub)) in cfg80211_unlink_bss()
1345 bss = container_of(pub, struct cfg80211_internal_bss, pub); in cfg80211_unlink_bss()
1575 memcpy(iwe.u.ap_addr.sa_data, bss->pub.bssid, ETH_ALEN); in ieee80211_bss()
1583 iwe.u.freq.m = ieee80211_frequency_to_channel(bss->pub.channel->center_freq); in ieee80211_bss()
1592 iwe.u.freq.m = bss->pub.channel->center_freq; in ieee80211_bss()
1607 sig = bss->pub.signal / 100; in ieee80211_bss()
1618 iwe.u.qual.level = bss->pub.signal; in ieee80211_bss()
1620 iwe.u.qual.qual = bss->pub.signal; in ieee80211_bss()
1635 if (bss->pub.capability & WLAN_CAPABILITY_PRIVACY) in ieee80211_bss()
1646 ies = rcu_dereference(bss->pub.ies); in ieee80211_bss()
1776 if (bss->pub.capability & (WLAN_CAPABILITY_ESS | WLAN_CAPABILITY_IBSS) || in ieee80211_bss()
1782 else if (bss->pub.capability & WLAN_CAPABILITY_ESS) in ieee80211_bss()