Lines Matching refs:pub

123 	ies = (void *)rcu_access_pointer(bss->pub.beacon_ies);
124 if (ies && !bss->pub.hidden_beacon_bss)
126 ies = (void *)rcu_access_pointer(bss->pub.proberesp_ies);
147 if (bss->pub.hidden_beacon_bss)
148 bss_from_pub(bss->pub.hidden_beacon_bss)->refcount++;
150 if (bss->pub.transmitted_bss)
151 bss_from_pub(bss->pub.transmitted_bss)->refcount++;
159 if (bss->pub.hidden_beacon_bss) {
161 hbss = container_of(bss->pub.hidden_beacon_bss,
163 pub);
169 if (bss->pub.transmitted_bss) {
172 tbss = container_of(bss->pub.transmitted_bss,
174 pub);
195 if (!bss->pub.hidden_beacon_bss)
205 list_del_init(&bss->pub.nontrans_list);
512 !bss->pub.hidden_beacon_bss)
797 struct cfg80211_bss *res = &intbss->pub;
1482 if (!cfg80211_bss_type_match(bss->pub.capability,
1483 bss->pub.channel->band, bss_type))
1486 bss_privacy = (bss->pub.capability & WLAN_CAPABILITY_PRIVACY);
1490 if (channel && bss->pub.channel != channel)
1492 if (!is_valid_ether_addr(bss->pub.bssid))
1498 if (is_bss(&bss->pub, bssid, ssid, ssid_len)) {
1508 trace_cfg80211_return_bss(&res->pub);
1509 return &res->pub;
1525 cmp = cmp_bss(&bss->pub, &tbss->pub, BSS_CMP_REGULAR);
1553 r = cmp_bss(&res->pub, &bss->pub, mode);
1576 ies = rcu_access_pointer(new->pub.beacon_ies);
1604 if (!ether_addr_equal(bss->pub.bssid, new->pub.bssid))
1606 if (bss->pub.channel != new->pub.channel)
1608 if (bss->pub.scan_width != new->pub.scan_width)
1610 if (rcu_access_pointer(bss->pub.beacon_ies))
1612 ies = rcu_access_pointer(bss->pub.ies);
1620 if (WARN_ON_ONCE(bss->pub.hidden_beacon_bss))
1626 bss->pub.hidden_beacon_bss = &new->pub;
1628 rcu_assign_pointer(bss->pub.beacon_ies,
1629 new->pub.beacon_ies);
1655 ies = rcu_access_pointer(bss->pub.beacon_ies);
1658 rcu_assign_pointer(bss->pub.beacon_ies, new_ies);
1671 if (rcu_access_pointer(new->pub.proberesp_ies)) {
1674 old = rcu_access_pointer(known->pub.proberesp_ies);
1676 rcu_assign_pointer(known->pub.proberesp_ies,
1677 new->pub.proberesp_ies);
1679 rcu_assign_pointer(known->pub.ies,
1680 new->pub.proberesp_ies);
1683 } else if (rcu_access_pointer(new->pub.beacon_ies)) {
1686 if (known->pub.hidden_beacon_bss &&
1699 f = rcu_access_pointer(new->pub.beacon_ies);
1704 old = rcu_access_pointer(known->pub.beacon_ies);
1706 rcu_assign_pointer(known->pub.beacon_ies, new->pub.beacon_ies);
1709 if (old == rcu_access_pointer(known->pub.ies))
1710 rcu_assign_pointer(known->pub.ies, new->pub.beacon_ies);
1713 rcu_access_pointer(new->pub.beacon_ies),
1720 known->pub.beacon_interval = new->pub.beacon_interval;
1726 known->pub.signal = new->pub.signal;
1727 known->pub.capability = new->pub.capability;
1731 known->pub.chains = new->pub.chains;
1732 memcpy(known->pub.chain_signal, new->pub.chain_signal,
1735 known->pub.max_bssid_indicator = new->pub.max_bssid_indicator;
1736 known->pub.bssid_index = new->pub.bssid_index;
1749 if (WARN_ON(!tmp->pub.channel))
1756 if (WARN_ON(!rcu_access_pointer(tmp->pub.ies))) {
1779 ies = (void *)rcu_dereference(tmp->pub.beacon_ies);
1782 ies = (void *)rcu_dereference(tmp->pub.proberesp_ies);
1790 INIT_LIST_HEAD(&new->pub.nontrans_list);
1792 new->pub.transmitted_bss = NULL;
1794 if (rcu_access_pointer(tmp->pub.proberesp_ies)) {
1800 new->pub.hidden_beacon_bss = &hidden->pub;
1805 ies = (void *)rcu_access_pointer(new->pub.beacon_ies);
1806 rcu_assign_pointer(new->pub.beacon_ies,
1807 hidden->pub.beacon_ies);
1831 if (tmp->pub.transmitted_bss) {
1833 container_of(tmp->pub.transmitted_bss,
1835 pub);
1837 new->pub.transmitted_bss = tmp->pub.transmitted_bss;
1967 memcpy(tmp.pub.bssid, bssid, ETH_ALEN);
1968 tmp.pub.channel = channel;
1969 tmp.pub.scan_width = data->scan_width;
1970 tmp.pub.signal = data->signal;
1971 tmp.pub.beacon_interval = beacon_interval;
1972 tmp.pub.capability = capability;
1975 tmp.pub.transmitted_bss = non_tx_data->tx_bss;
1977 tmp.pub.bssid_index = non_tx_data->bssid_index;
1978 tmp.pub.max_bssid_indicator = non_tx_data->max_bssid_indicator;
2004 rcu_assign_pointer(tmp.pub.beacon_ies, ies);
2007 rcu_assign_pointer(tmp.pub.proberesp_ies, ies);
2010 rcu_assign_pointer(tmp.pub.ies, ies);
2018 bss_type = res->pub.capability & WLAN_CAPABILITY_DMG_TYPE_MASK;
2023 if (res->pub.capability & WLAN_CAPABILITY_ESS)
2033 &res->pub)) {
2045 trace_cfg80211_return_bss(&res->pub);
2047 return &res->pub;
2464 rcu_assign_pointer(tmp.pub.proberesp_ies, ies);
2466 rcu_assign_pointer(tmp.pub.beacon_ies, ies);
2467 rcu_assign_pointer(tmp.pub.ies, ies);
2469 memcpy(tmp.pub.bssid, bssid, ETH_ALEN);
2470 tmp.pub.beacon_interval = beacon_int;
2471 tmp.pub.capability = capability;
2472 tmp.pub.channel = channel;
2473 tmp.pub.scan_width = data->scan_width;
2474 tmp.pub.signal = data->signal;
2477 tmp.pub.chains = data->chains;
2478 memcpy(tmp.pub.chain_signal, data->chain_signal, IEEE80211_MAX_CHAINS);
2488 bss_type = res->pub.capability & WLAN_CAPABILITY_DMG_TYPE_MASK;
2493 if (res->pub.capability & WLAN_CAPABILITY_ESS)
2497 trace_cfg80211_return_bss(&res->pub);
2499 return &res->pub;
2558 void cfg80211_ref_bss(struct wiphy *wiphy, struct cfg80211_bss *pub)
2563 if (!pub)
2566 bss = container_of(pub, struct cfg80211_internal_bss, pub);
2574 void cfg80211_put_bss(struct wiphy *wiphy, struct cfg80211_bss *pub)
2579 if (!pub)
2582 bss = container_of(pub, struct cfg80211_internal_bss, pub);
2590 void cfg80211_unlink_bss(struct wiphy *wiphy, struct cfg80211_bss *pub)
2596 if (WARN_ON(!pub))
2599 bss = container_of(pub, struct cfg80211_internal_bss, pub);
2606 &pub->nontrans_list,
2609 struct cfg80211_internal_bss, pub);
2634 if (!chandef || cfg80211_is_sub_chan(chandef, bss->pub.channel))
2635 iter(wiphy, &bss->pub, iter_data);
2659 if (cbss->pub.channel == chan)
2663 if (cbss->pub.transmitted_bss)
2664 cbss = container_of(cbss->pub.transmitted_bss,
2666 pub);
2668 cbss->pub.channel = chan;
2671 if (!cfg80211_bss_type_match(bss->pub.capability,
2672 bss->pub.channel->band,
2679 if (!cmp_bss(&bss->pub, &cbss->pub, BSS_CMP_REGULAR)) {
2688 new->pub.proberesp_ies = NULL;
2689 new->pub.beacon_ies = NULL;
2693 &new->pub.nontrans_list,
2696 struct cfg80211_internal_bss, pub);
2711 &cbss->pub.nontrans_list,
2714 struct cfg80211_internal_bss, pub);
2715 bss->pub.channel = chan;
2948 memcpy(iwe.u.ap_addr.sa_data, bss->pub.bssid, ETH_ALEN);
2956 iwe.u.freq.m = ieee80211_frequency_to_channel(bss->pub.channel->center_freq);
2965 iwe.u.freq.m = bss->pub.channel->center_freq;
2980 sig = bss->pub.signal / 100;
2991 iwe.u.qual.level = bss->pub.signal;
2993 iwe.u.qual.qual = bss->pub.signal;
3008 if (bss->pub.capability & WLAN_CAPABILITY_PRIVACY)
3019 ies = rcu_dereference(bss->pub.ies);
3149 if (bss->pub.capability & (WLAN_CAPABILITY_ESS | WLAN_CAPABILITY_IBSS) ||
3155 else if (bss->pub.capability & WLAN_CAPABILITY_ESS)