Lines Matching defs:pub
87 ies = (void *)rcu_access_pointer(bss->pub.beacon_ies);
88 if (ies && !bss->pub.hidden_beacon_bss)
90 ies = (void *)rcu_access_pointer(bss->pub.proberesp_ies);
111 if (bss->pub.hidden_beacon_bss)
112 bss_from_pub(bss->pub.hidden_beacon_bss)->refcount++;
114 if (bss->pub.transmitted_bss)
115 bss_from_pub(bss->pub.transmitted_bss)->refcount++;
123 if (bss->pub.hidden_beacon_bss) {
126 hbss = bss_from_pub(bss->pub.hidden_beacon_bss);
132 if (bss->pub.transmitted_bss) {
135 tbss = bss_from_pub(bss->pub.transmitted_bss);
156 if (!bss->pub.hidden_beacon_bss)
166 list_del_init(&bss->pub.nontrans_list);
502 !bss->pub.hidden_beacon_bss)
871 struct cfg80211_bss *res = &intbss->pub;
1619 if (!cfg80211_bss_type_match(bss->pub.capability,
1620 bss->pub.channel->band, bss_type))
1623 bss_privacy = (bss->pub.capability & WLAN_CAPABILITY_PRIVACY);
1627 if (channel && bss->pub.channel != channel)
1629 if (!is_valid_ether_addr(bss->pub.bssid))
1631 if ((bss->pub.use_for & use_for) != use_for)
1637 if (is_bss(&bss->pub, bssid, ssid, ssid_len)) {
1647 trace_cfg80211_return_bss(&res->pub);
1648 return &res->pub;
1664 cmp = cmp_bss(&bss->pub, &tbss->pub, BSS_CMP_REGULAR);
1693 r = cmp_bss(&res->pub, &bss->pub, mode);
1727 if (!list_empty(&bss->pub.nontrans_list))
1728 list_del_init(&bss->pub.nontrans_list);
1744 ies = rcu_access_pointer(new->pub.beacon_ies);
1772 if (!ether_addr_equal(bss->pub.bssid, new->pub.bssid))
1774 if (bss->pub.channel != new->pub.channel)
1776 if (rcu_access_pointer(bss->pub.beacon_ies))
1778 ies = rcu_access_pointer(bss->pub.ies);
1786 if (WARN_ON_ONCE(bss->pub.hidden_beacon_bss))
1792 bss->pub.hidden_beacon_bss = &new->pub;
1794 rcu_assign_pointer(bss->pub.beacon_ies,
1795 new->pub.beacon_ies);
1815 ies = rcu_access_pointer(bss->pub.beacon_ies);
1818 rcu_assign_pointer(bss->pub.beacon_ies, new_ies);
1821 bss->pub.ts_boottime = known->pub.ts_boottime;
1833 if (known->pub.proberesp_ecsa_stuck)
1836 new = rcu_dereference_protected(known->pub.proberesp_ies,
1854 bcn = rcu_dereference_protected(known->pub.beacon_ies,
1874 ieee80211_frequency_to_channel(known->pub.channel->center_freq))
1877 known->pub.proberesp_ecsa_stuck = 1;
1890 known->pub.ts_boottime = new->pub.ts_boottime;
1893 if (rcu_access_pointer(new->pub.proberesp_ies)) {
1896 old = rcu_access_pointer(known->pub.proberesp_ies);
1898 rcu_assign_pointer(known->pub.proberesp_ies,
1899 new->pub.proberesp_ies);
1901 rcu_assign_pointer(known->pub.ies,
1902 new->pub.proberesp_ies);
1909 if (rcu_access_pointer(new->pub.beacon_ies)) {
1912 if (known->pub.hidden_beacon_bss &&
1925 f = rcu_access_pointer(new->pub.beacon_ies);
1926 if (!new->pub.hidden_beacon_bss)
1931 old = rcu_access_pointer(known->pub.beacon_ies);
1933 rcu_assign_pointer(known->pub.beacon_ies, new->pub.beacon_ies);
1936 if (old == rcu_access_pointer(known->pub.ies))
1937 rcu_assign_pointer(known->pub.ies, new->pub.beacon_ies);
1940 rcu_access_pointer(new->pub.beacon_ies),
1947 known->pub.beacon_interval = new->pub.beacon_interval;
1953 known->pub.signal = new->pub.signal;
1954 known->pub.capability = new->pub.capability;
1956 known->pub.chains = new->pub.chains;
1957 memcpy(known->pub.chain_signal, new->pub.chain_signal,
1960 known->pub.max_bssid_indicator = new->pub.max_bssid_indicator;
1961 known->pub.bssid_index = new->pub.bssid_index;
1962 known->pub.use_for &= new->pub.use_for;
1963 known->pub.cannot_use_reasons = new->pub.cannot_use_reasons;
1978 if (WARN_ON(!tmp->pub.channel))
1983 if (WARN_ON(!rcu_access_pointer(tmp->pub.ies)))
2007 INIT_LIST_HEAD(&new->pub.nontrans_list);
2009 new->pub.transmitted_bss = NULL;
2011 if (rcu_access_pointer(tmp->pub.proberesp_ies)) {
2017 new->pub.hidden_beacon_bss = &hidden->pub;
2022 ies = (void *)rcu_access_pointer(new->pub.beacon_ies);
2023 rcu_assign_pointer(new->pub.beacon_ies,
2024 hidden->pub.beacon_ies);
2048 if (tmp->pub.transmitted_bss) {
2049 new->pub.transmitted_bss = tmp->pub.transmitted_bss;
2050 bss_ref_get(rdev, bss_from_pub(tmp->pub.transmitted_bss));
2063 ies = (void *)rcu_access_pointer(tmp->pub.beacon_ies);
2066 ies = (void *)rcu_access_pointer(tmp->pub.proberesp_ies);
2304 memcpy(tmp.pub.bssid, data->bssid, ETH_ALEN);
2305 tmp.pub.channel = channel;
2307 tmp.pub.signal = drv_data->signal;
2309 tmp.pub.signal = 0;
2310 tmp.pub.beacon_interval = data->beacon_interval;
2311 tmp.pub.capability = data->capability;
2312 tmp.pub.ts_boottime = drv_data->boottime_ns;
2315 tmp.pub.chains = drv_data->chains;
2316 memcpy(tmp.pub.chain_signal, drv_data->chain_signal,
2318 tmp.pub.use_for = data->use_for;
2319 tmp.pub.cannot_use_reasons = data->cannot_use_reasons;
2324 tmp.pub.transmitted_bss = data->source_bss;
2328 tmp.pub.bssid_index = data->bssid_index;
2329 tmp.pub.max_bssid_indicator = data->max_bssid_indicator;
2371 rcu_assign_pointer(tmp.pub.beacon_ies, ies);
2374 rcu_assign_pointer(tmp.pub.proberesp_ies, ies);
2377 rcu_assign_pointer(tmp.pub.ies, ies);
2385 rdev_inform_bss(rdev, &res->pub, ies, drv_data->drv_data);
2391 if (cfg80211_add_nontrans_list(data->source_bss, &res->pub)) {
2403 trace_cfg80211_return_bss(&res->pub);
2405 return &res->pub;
3338 void cfg80211_ref_bss(struct wiphy *wiphy, struct cfg80211_bss *pub)
3342 if (!pub)
3346 bss_ref_get(rdev, bss_from_pub(pub));
3351 void cfg80211_put_bss(struct wiphy *wiphy, struct cfg80211_bss *pub)
3355 if (!pub)
3359 bss_ref_put(rdev, bss_from_pub(pub));
3364 void cfg80211_unlink_bss(struct wiphy *wiphy, struct cfg80211_bss *pub)
3370 if (WARN_ON(!pub))
3373 bss = bss_from_pub(pub);
3380 &pub->nontrans_list,
3407 if (!chandef || cfg80211_is_sub_chan(chandef, bss->pub.channel,
3409 iter(wiphy, &bss->pub, iter_data);
3434 if (cbss->pub.channel == chan)
3438 if (cbss->pub.transmitted_bss)
3439 cbss = bss_from_pub(cbss->pub.transmitted_bss);
3441 cbss->pub.channel = chan;
3444 if (!cfg80211_bss_type_match(bss->pub.capability,
3445 bss->pub.channel->band,
3452 if (!cmp_bss(&bss->pub, &cbss->pub, BSS_CMP_REGULAR)) {
3461 new->pub.proberesp_ies = NULL;
3462 new->pub.beacon_ies = NULL;
3465 &new->pub.nontrans_list,
3479 &cbss->pub.nontrans_list,
3482 bss->pub.channel = chan;
3718 memcpy(iwe.u.ap_addr.sa_data, bss->pub.bssid, ETH_ALEN);
3726 iwe.u.freq.m = ieee80211_frequency_to_channel(bss->pub.channel->center_freq);
3735 iwe.u.freq.m = bss->pub.channel->center_freq;
3750 sig = bss->pub.signal / 100;
3761 iwe.u.qual.level = bss->pub.signal;
3763 iwe.u.qual.qual = bss->pub.signal;
3778 if (bss->pub.capability & WLAN_CAPABILITY_PRIVACY)
3789 ies = rcu_dereference(bss->pub.ies);
3923 if (bss->pub.capability & (WLAN_CAPABILITY_ESS | WLAN_CAPABILITY_IBSS) ||
3929 else if (bss->pub.capability & WLAN_CAPABILITY_ESS)