Lines Matching refs:pub

87 	ies = (void *)rcu_access_pointer(bss->pub.beacon_ies);  in bss_free()
88 if (ies && !bss->pub.hidden_beacon_bss) in bss_free()
90 ies = (void *)rcu_access_pointer(bss->pub.proberesp_ies); in bss_free()
111 if (bss->pub.hidden_beacon_bss) in bss_ref_get()
112 bss_from_pub(bss->pub.hidden_beacon_bss)->refcount++; in bss_ref_get()
114 if (bss->pub.transmitted_bss) in bss_ref_get()
115 bss_from_pub(bss->pub.transmitted_bss)->refcount++; in bss_ref_get()
123 if (bss->pub.hidden_beacon_bss) { in bss_ref_put()
126 hbss = bss_from_pub(bss->pub.hidden_beacon_bss); in bss_ref_put()
132 if (bss->pub.transmitted_bss) { in bss_ref_put()
135 tbss = bss_from_pub(bss->pub.transmitted_bss); in bss_ref_put()
156 if (!bss->pub.hidden_beacon_bss) in __cfg80211_unlink_bss()
166 list_del_init(&bss->pub.nontrans_list); in __cfg80211_unlink_bss()
502 !bss->pub.hidden_beacon_bss) in cfg80211_bss_expire_oldest()
871 struct cfg80211_bss *res = &intbss->pub; in cfg80211_scan_6ghz()
1619 if (!cfg80211_bss_type_match(bss->pub.capability, in __cfg80211_get_bss()
1620 bss->pub.channel->band, bss_type)) in __cfg80211_get_bss()
1623 bss_privacy = (bss->pub.capability & WLAN_CAPABILITY_PRIVACY); in __cfg80211_get_bss()
1627 if (channel && bss->pub.channel != channel) in __cfg80211_get_bss()
1629 if (!is_valid_ether_addr(bss->pub.bssid)) in __cfg80211_get_bss()
1631 if ((bss->pub.use_for & use_for) != use_for) in __cfg80211_get_bss()
1637 if (is_bss(&bss->pub, bssid, ssid, ssid_len)) { in __cfg80211_get_bss()
1647 trace_cfg80211_return_bss(&res->pub); in __cfg80211_get_bss()
1648 return &res->pub; in __cfg80211_get_bss()
1664 cmp = cmp_bss(&bss->pub, &tbss->pub, BSS_CMP_REGULAR); in rb_insert_bss()
1693 r = cmp_bss(&res->pub, &bss->pub, mode); in rb_find_bss()
1727 if (!list_empty(&bss->pub.nontrans_list)) in cfg80211_rehash_bss()
1728 list_del_init(&bss->pub.nontrans_list); in cfg80211_rehash_bss()
1744 ies = rcu_access_pointer(new->pub.beacon_ies); in cfg80211_combine_bsses()
1772 if (!ether_addr_equal(bss->pub.bssid, new->pub.bssid)) in cfg80211_combine_bsses()
1774 if (bss->pub.channel != new->pub.channel) in cfg80211_combine_bsses()
1776 if (rcu_access_pointer(bss->pub.beacon_ies)) in cfg80211_combine_bsses()
1778 ies = rcu_access_pointer(bss->pub.ies); in cfg80211_combine_bsses()
1786 if (WARN_ON_ONCE(bss->pub.hidden_beacon_bss)) in cfg80211_combine_bsses()
1792 bss->pub.hidden_beacon_bss = &new->pub; in cfg80211_combine_bsses()
1794 rcu_assign_pointer(bss->pub.beacon_ies, in cfg80211_combine_bsses()
1795 new->pub.beacon_ies); in cfg80211_combine_bsses()
1815 ies = rcu_access_pointer(bss->pub.beacon_ies); in cfg80211_update_hidden_bsses()
1818 rcu_assign_pointer(bss->pub.beacon_ies, new_ies); in cfg80211_update_hidden_bsses()
1830 if (known->pub.proberesp_ecsa_stuck) in cfg80211_check_stuck_ecsa()
1833 new = rcu_dereference_protected(known->pub.proberesp_ies, in cfg80211_check_stuck_ecsa()
1851 bcn = rcu_dereference_protected(known->pub.beacon_ies, in cfg80211_check_stuck_ecsa()
1871 ieee80211_frequency_to_channel(known->pub.channel->center_freq)) in cfg80211_check_stuck_ecsa()
1874 known->pub.proberesp_ecsa_stuck = 1; in cfg80211_check_stuck_ecsa()
1886 if (rcu_access_pointer(new->pub.proberesp_ies)) { in cfg80211_update_known_bss()
1889 old = rcu_access_pointer(known->pub.proberesp_ies); in cfg80211_update_known_bss()
1891 rcu_assign_pointer(known->pub.proberesp_ies, in cfg80211_update_known_bss()
1892 new->pub.proberesp_ies); in cfg80211_update_known_bss()
1894 rcu_assign_pointer(known->pub.ies, in cfg80211_update_known_bss()
1895 new->pub.proberesp_ies); in cfg80211_update_known_bss()
1902 if (rcu_access_pointer(new->pub.beacon_ies)) { in cfg80211_update_known_bss()
1905 if (known->pub.hidden_beacon_bss && in cfg80211_update_known_bss()
1918 f = rcu_access_pointer(new->pub.beacon_ies); in cfg80211_update_known_bss()
1923 old = rcu_access_pointer(known->pub.beacon_ies); in cfg80211_update_known_bss()
1925 rcu_assign_pointer(known->pub.beacon_ies, new->pub.beacon_ies); in cfg80211_update_known_bss()
1928 if (old == rcu_access_pointer(known->pub.ies)) in cfg80211_update_known_bss()
1929 rcu_assign_pointer(known->pub.ies, new->pub.beacon_ies); in cfg80211_update_known_bss()
1932 rcu_access_pointer(new->pub.beacon_ies), in cfg80211_update_known_bss()
1939 known->pub.beacon_interval = new->pub.beacon_interval; in cfg80211_update_known_bss()
1945 known->pub.signal = new->pub.signal; in cfg80211_update_known_bss()
1946 known->pub.capability = new->pub.capability; in cfg80211_update_known_bss()
1948 known->pub.ts_boottime = new->pub.ts_boottime; in cfg80211_update_known_bss()
1950 known->pub.chains = new->pub.chains; in cfg80211_update_known_bss()
1951 memcpy(known->pub.chain_signal, new->pub.chain_signal, in cfg80211_update_known_bss()
1954 known->pub.max_bssid_indicator = new->pub.max_bssid_indicator; in cfg80211_update_known_bss()
1955 known->pub.bssid_index = new->pub.bssid_index; in cfg80211_update_known_bss()
1956 known->pub.use_for &= new->pub.use_for; in cfg80211_update_known_bss()
1957 known->pub.cannot_use_reasons = new->pub.cannot_use_reasons; in cfg80211_update_known_bss()
1972 if (WARN_ON(!tmp->pub.channel)) in __cfg80211_bss_update()
1977 if (WARN_ON(!rcu_access_pointer(tmp->pub.ies))) in __cfg80211_bss_update()
2001 INIT_LIST_HEAD(&new->pub.nontrans_list); in __cfg80211_bss_update()
2003 new->pub.transmitted_bss = NULL; in __cfg80211_bss_update()
2005 if (rcu_access_pointer(tmp->pub.proberesp_ies)) { in __cfg80211_bss_update()
2011 new->pub.hidden_beacon_bss = &hidden->pub; in __cfg80211_bss_update()
2016 ies = (void *)rcu_access_pointer(new->pub.beacon_ies); in __cfg80211_bss_update()
2017 rcu_assign_pointer(new->pub.beacon_ies, in __cfg80211_bss_update()
2018 hidden->pub.beacon_ies); in __cfg80211_bss_update()
2042 if (tmp->pub.transmitted_bss) { in __cfg80211_bss_update()
2043 new->pub.transmitted_bss = tmp->pub.transmitted_bss; in __cfg80211_bss_update()
2044 bss_ref_get(rdev, bss_from_pub(tmp->pub.transmitted_bss)); in __cfg80211_bss_update()
2057 ies = (void *)rcu_access_pointer(tmp->pub.beacon_ies); in __cfg80211_bss_update()
2060 ies = (void *)rcu_access_pointer(tmp->pub.proberesp_ies); in __cfg80211_bss_update()
2298 memcpy(tmp.pub.bssid, data->bssid, ETH_ALEN); in cfg80211_inform_single_bss_data()
2299 tmp.pub.channel = channel; in cfg80211_inform_single_bss_data()
2301 tmp.pub.signal = drv_data->signal; in cfg80211_inform_single_bss_data()
2303 tmp.pub.signal = 0; in cfg80211_inform_single_bss_data()
2304 tmp.pub.beacon_interval = data->beacon_interval; in cfg80211_inform_single_bss_data()
2305 tmp.pub.capability = data->capability; in cfg80211_inform_single_bss_data()
2306 tmp.pub.ts_boottime = drv_data->boottime_ns; in cfg80211_inform_single_bss_data()
2309 tmp.pub.chains = drv_data->chains; in cfg80211_inform_single_bss_data()
2310 memcpy(tmp.pub.chain_signal, drv_data->chain_signal, in cfg80211_inform_single_bss_data()
2312 tmp.pub.use_for = data->use_for; in cfg80211_inform_single_bss_data()
2313 tmp.pub.cannot_use_reasons = data->cannot_use_reasons; in cfg80211_inform_single_bss_data()
2318 tmp.pub.transmitted_bss = data->source_bss; in cfg80211_inform_single_bss_data()
2322 tmp.pub.bssid_index = data->bssid_index; in cfg80211_inform_single_bss_data()
2323 tmp.pub.max_bssid_indicator = data->max_bssid_indicator; in cfg80211_inform_single_bss_data()
2365 rcu_assign_pointer(tmp.pub.beacon_ies, ies); in cfg80211_inform_single_bss_data()
2368 rcu_assign_pointer(tmp.pub.proberesp_ies, ies); in cfg80211_inform_single_bss_data()
2371 rcu_assign_pointer(tmp.pub.ies, ies); in cfg80211_inform_single_bss_data()
2379 rdev_inform_bss(rdev, &res->pub, ies, drv_data->drv_data); in cfg80211_inform_single_bss_data()
2385 if (cfg80211_add_nontrans_list(data->source_bss, &res->pub)) { in cfg80211_inform_single_bss_data()
2397 trace_cfg80211_return_bss(&res->pub); in cfg80211_inform_single_bss_data()
2399 return &res->pub; in cfg80211_inform_single_bss_data()
3332 void cfg80211_ref_bss(struct wiphy *wiphy, struct cfg80211_bss *pub) in cfg80211_ref_bss() argument
3336 if (!pub) in cfg80211_ref_bss()
3340 bss_ref_get(rdev, bss_from_pub(pub)); in cfg80211_ref_bss()
3345 void cfg80211_put_bss(struct wiphy *wiphy, struct cfg80211_bss *pub) in cfg80211_put_bss() argument
3349 if (!pub) in cfg80211_put_bss()
3353 bss_ref_put(rdev, bss_from_pub(pub)); in cfg80211_put_bss()
3358 void cfg80211_unlink_bss(struct wiphy *wiphy, struct cfg80211_bss *pub) in cfg80211_unlink_bss() argument
3364 if (WARN_ON(!pub)) in cfg80211_unlink_bss()
3367 bss = bss_from_pub(pub); in cfg80211_unlink_bss()
3374 &pub->nontrans_list, in cfg80211_unlink_bss()
3401 if (!chandef || cfg80211_is_sub_chan(chandef, bss->pub.channel, in cfg80211_bss_iter()
3403 iter(wiphy, &bss->pub, iter_data); in cfg80211_bss_iter()
3428 if (cbss->pub.channel == chan) in cfg80211_update_assoc_bss_entry()
3432 if (cbss->pub.transmitted_bss) in cfg80211_update_assoc_bss_entry()
3433 cbss = bss_from_pub(cbss->pub.transmitted_bss); in cfg80211_update_assoc_bss_entry()
3435 cbss->pub.channel = chan; in cfg80211_update_assoc_bss_entry()
3438 if (!cfg80211_bss_type_match(bss->pub.capability, in cfg80211_update_assoc_bss_entry()
3439 bss->pub.channel->band, in cfg80211_update_assoc_bss_entry()
3446 if (!cmp_bss(&bss->pub, &cbss->pub, BSS_CMP_REGULAR)) { in cfg80211_update_assoc_bss_entry()
3455 new->pub.proberesp_ies = NULL; in cfg80211_update_assoc_bss_entry()
3456 new->pub.beacon_ies = NULL; in cfg80211_update_assoc_bss_entry()
3459 &new->pub.nontrans_list, in cfg80211_update_assoc_bss_entry()
3473 &cbss->pub.nontrans_list, in cfg80211_update_assoc_bss_entry()
3476 bss->pub.channel = chan; in cfg80211_update_assoc_bss_entry()
3712 memcpy(iwe.u.ap_addr.sa_data, bss->pub.bssid, ETH_ALEN); in ieee80211_bss()
3720 iwe.u.freq.m = ieee80211_frequency_to_channel(bss->pub.channel->center_freq); in ieee80211_bss()
3729 iwe.u.freq.m = bss->pub.channel->center_freq; in ieee80211_bss()
3744 sig = bss->pub.signal / 100; in ieee80211_bss()
3755 iwe.u.qual.level = bss->pub.signal; in ieee80211_bss()
3757 iwe.u.qual.qual = bss->pub.signal; in ieee80211_bss()
3772 if (bss->pub.capability & WLAN_CAPABILITY_PRIVACY) in ieee80211_bss()
3783 ies = rcu_dereference(bss->pub.ies); in ieee80211_bss()
3917 if (bss->pub.capability & (WLAN_CAPABILITY_ESS | WLAN_CAPABILITY_IBSS) || in ieee80211_bss()
3923 else if (bss->pub.capability & WLAN_CAPABILITY_ESS) in ieee80211_bss()