Lines Matching refs:wiphy

90 		lockdep_assert_held(&rdev->wiphy.mtx);
92 list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) {
112 if (wiphy_net(&rdev->wiphy) != netns)
118 list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) {
164 list_for_each_entry(wdev, &tmp->wiphy.wdev_list, list) {
187 netdev->ieee80211_ptr->wiphy);
206 if (netns != wiphy_net(&rdev->wiphy))
1013 *rdev = wiphy_to_rdev((*wdev)->wiphy);
1014 mutex_lock(&(*rdev)->wiphy.mtx);
1021 struct wiphy *wiphy;
1025 wiphy = wiphy_idx_to_wiphy(cb->args[0] - 1);
1026 if (!wiphy) {
1030 *rdev = wiphy_to_rdev(wiphy);
1033 list_for_each_entry(tmp, &(*rdev)->wiphy.wdev_list, list) {
1044 mutex_lock(&(*rdev)->wiphy.mtx);
1095 static int nl80211_msg_put_channel(struct sk_buff *msg, struct wiphy *wiphy,
1215 freq_reg_info(wiphy, MHZ_TO_KHZ(chan->center_freq));
1557 lockdep_assert_wiphy(wdev->wiphy);
1575 if (wiphy_ext_feature_isset(wdev->wiphy,
1591 static struct ieee80211_channel *nl80211_get_valid_chan(struct wiphy *wiphy,
1596 chan = ieee80211_get_channel_khz(wiphy, freq);
1625 static int nl80211_put_iface_combinations(struct wiphy *wiphy,
1637 for (i = 0; i < wiphy->n_iface_combinations; i++) {
1641 c = &wiphy->iface_combinations[i];
1702 const struct wiphy_wowlan_tcp_support *tcp = rdev->wiphy.wowlan->tcp;
1746 if (!rdev->wiphy.wowlan)
1754 if (((rdev->wiphy.wowlan->flags & WIPHY_WOWLAN_ANY) &&
1756 ((rdev->wiphy.wowlan->flags & WIPHY_WOWLAN_DISCONNECT) &&
1758 ((rdev->wiphy.wowlan->flags & WIPHY_WOWLAN_MAGIC_PKT) &&
1760 ((rdev->wiphy.wowlan->flags & WIPHY_WOWLAN_SUPPORTS_GTK_REKEY) &&
1762 ((rdev->wiphy.wowlan->flags & WIPHY_WOWLAN_GTK_REKEY_FAILURE) &&
1764 ((rdev->wiphy.wowlan->flags & WIPHY_WOWLAN_EAP_IDENTITY_REQ) &&
1766 ((rdev->wiphy.wowlan->flags & WIPHY_WOWLAN_4WAY_HANDSHAKE) &&
1768 ((rdev->wiphy.wowlan->flags & WIPHY_WOWLAN_RFKILL_RELEASE) &&
1772 if (rdev->wiphy.wowlan->n_patterns) {
1774 .max_patterns = rdev->wiphy.wowlan->n_patterns,
1775 .min_pattern_len = rdev->wiphy.wowlan->pattern_min_len,
1776 .max_pattern_len = rdev->wiphy.wowlan->pattern_max_len,
1777 .max_pkt_offset = rdev->wiphy.wowlan->max_pkt_offset,
1785 if ((rdev->wiphy.wowlan->flags & WIPHY_WOWLAN_NET_DETECT) &&
1787 rdev->wiphy.wowlan->max_nd_match_sets))
1804 if (!rdev->wiphy.coalesce)
1807 rule.max_rules = rdev->wiphy.coalesce->n_rules;
1808 rule.max_delay = rdev->wiphy.coalesce->max_delay;
1809 rule.pat.max_patterns = rdev->wiphy.coalesce->n_patterns;
1810 rule.pat.min_pattern_len = rdev->wiphy.coalesce->pattern_min_len;
1811 rule.pat.max_pattern_len = rdev->wiphy.coalesce->pattern_max_len;
1812 rule.pat.max_pkt_offset = rdev->wiphy.coalesce->max_pkt_offset;
2091 if (rdev->wiphy.flags & WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL)
2096 if (rdev->wiphy.flags & WIPHY_FLAG_NETNS_OK) {
2107 if (rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_TDLS) {
2111 if (rdev->wiphy.max_sched_scan_reqs)
2115 if (rdev->wiphy.flags & WIPHY_FLAG_REPORTS_OBSS) {
2195 const struct cfg80211_pmsr_capabilities *cap = rdev->wiphy.pmsr_capa;
2242 if (!rdev->wiphy.num_iftype_akm_suites ||
2243 !rdev->wiphy.iftype_akm_suites)
2250 for (i = 0; i < rdev->wiphy.num_iftype_akm_suites; i++) {
2255 iftype_akms = &rdev->wiphy.iftype_akm_suites[i];
2280 if (!rdev->wiphy.tid_config_support.vif &&
2281 !rdev->wiphy.tid_config_support.peer)
2288 if (rdev->wiphy.tid_config_support.vif &&
2290 rdev->wiphy.tid_config_support.vif,
2294 if (rdev->wiphy.tid_config_support.peer &&
2296 rdev->wiphy.tid_config_support.peer,
2302 rdev->wiphy.tid_config_support.max_retry))
2305 rdev->wiphy.tid_config_support.max_retry))
2324 if (!rdev->wiphy.sar_capa)
2327 num_freq_ranges = rdev->wiphy.sar_capa->num_freq_ranges;
2333 if (nla_put_u32(msg, NL80211_SAR_ATTR_TYPE, rdev->wiphy.sar_capa->type))
2347 rdev->wiphy.sar_capa->freq_ranges[i].start_freq))
2351 rdev->wiphy.sar_capa->freq_ranges[i].end_freq))
2366 static int nl80211_put_mbssid_support(struct wiphy *wiphy, struct sk_buff *msg)
2370 if (!wiphy->mbssid_max_interfaces)
2378 wiphy->mbssid_max_interfaces))
2381 if (wiphy->ema_max_profile_periodicity &&
2384 wiphy->ema_max_profile_periodicity))
2415 rdev->wiphy.mgmt_stypes;
2427 wiphy_name(&rdev->wiphy)) ||
2438 rdev->wiphy.retry_short) ||
2440 rdev->wiphy.retry_long) ||
2442 rdev->wiphy.frag_threshold) ||
2444 rdev->wiphy.rts_threshold) ||
2446 rdev->wiphy.coverage_class) ||
2448 rdev->wiphy.max_scan_ssids) ||
2450 rdev->wiphy.max_sched_scan_ssids) ||
2452 rdev->wiphy.max_scan_ie_len) ||
2454 rdev->wiphy.max_sched_scan_ie_len) ||
2456 rdev->wiphy.max_match_sets))
2459 if ((rdev->wiphy.flags & WIPHY_FLAG_IBSS_RSN) &&
2462 if ((rdev->wiphy.flags & WIPHY_FLAG_MESH_AUTH) &&
2465 if ((rdev->wiphy.flags & WIPHY_FLAG_AP_UAPSD) &&
2468 if ((rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_FW_ROAM) &&
2471 if ((rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_TDLS) &&
2474 if ((rdev->wiphy.flags & WIPHY_FLAG_TDLS_EXTERNAL_SETUP) &&
2483 sizeof(u32) * rdev->wiphy.n_cipher_suites,
2484 rdev->wiphy.cipher_suites))
2488 rdev->wiphy.max_num_pmkids))
2491 if ((rdev->wiphy.flags & WIPHY_FLAG_CONTROL_PORT_PROTOCOL) &&
2496 rdev->wiphy.available_antennas_tx) ||
2498 rdev->wiphy.available_antennas_rx))
2501 if ((rdev->wiphy.flags & WIPHY_FLAG_AP_PROBE_RESP_OFFLOAD) &&
2503 rdev->wiphy.probe_resp_offload))
2506 if ((rdev->wiphy.available_antennas_tx ||
2507 rdev->wiphy.available_antennas_rx) &&
2530 rdev->wiphy.interface_modes))
2553 sband = rdev->wiphy.bands[band];
2589 msg, &rdev->wiphy, chan,
2638 if (rdev->wiphy.flags & WIPHY_FLAG_HAS_CHANNEL_SWITCH)
2641 if (rdev->wiphy.features &
2647 if (rdev->wiphy.sar_capa)
2659 (rdev->wiphy.flags & WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL) &&
2662 rdev->wiphy.max_remain_on_channel_duration))
2665 if ((rdev->wiphy.flags & WIPHY_FLAG_OFFCHAN_TX) &&
2686 rdev->wiphy.software_iftypes))
2689 if (nl80211_put_iface_combinations(&rdev->wiphy, msg,
2698 if ((rdev->wiphy.flags & WIPHY_FLAG_HAVE_AP_SME) &&
2700 rdev->wiphy.ap_sme_capa))
2703 features = rdev->wiphy.features;
2714 if (rdev->wiphy.ht_capa_mod_mask &&
2716 sizeof(*rdev->wiphy.ht_capa_mod_mask),
2717 rdev->wiphy.ht_capa_mod_mask))
2720 if (rdev->wiphy.flags & WIPHY_FLAG_HAVE_AP_SME &&
2721 rdev->wiphy.max_acl_mac_addrs &&
2723 rdev->wiphy.max_acl_mac_addrs))
2746 rdev->wiphy.max_sched_scan_plans) ||
2748 rdev->wiphy.max_sched_scan_plan_interval) ||
2750 rdev->wiphy.max_sched_scan_plan_iterations))
2753 if (rdev->wiphy.extended_capabilities &&
2755 rdev->wiphy.extended_capabilities_len,
2756 rdev->wiphy.extended_capabilities) ||
2758 rdev->wiphy.extended_capabilities_len,
2759 rdev->wiphy.extended_capabilities_mask)))
2762 if (rdev->wiphy.vht_capa_mod_mask &&
2764 sizeof(*rdev->wiphy.vht_capa_mod_mask),
2765 rdev->wiphy.vht_capa_mod_mask))
2769 rdev->wiphy.perm_addr))
2772 if (!is_zero_ether_addr(rdev->wiphy.addr_mask) &&
2774 rdev->wiphy.addr_mask))
2777 if (rdev->wiphy.n_addresses > 1) {
2784 for (i = 0; i < rdev->wiphy.n_addresses; i++)
2786 rdev->wiphy.addresses[i].addr))
2798 if ((rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_5_10_MHZ) &&
2803 if (rdev->wiphy.max_ap_assoc_sta &&
2805 rdev->wiphy.max_ap_assoc_sta))
2811 if (rdev->wiphy.n_vendor_commands) {
2820 for (i = 0; i < rdev->wiphy.n_vendor_commands; i++) {
2821 info = &rdev->wiphy.vendor_commands[i].info;
2828 if (rdev->wiphy.n_vendor_events) {
2837 for (i = 0; i < rdev->wiphy.n_vendor_events; i++) {
2838 info = &rdev->wiphy.vendor_events[i];
2847 if (rdev->wiphy.flags & WIPHY_FLAG_HAS_CHANNEL_SWITCH &&
2849 rdev->wiphy.max_num_csa_counters))
2852 if (rdev->wiphy.regulatory_flags & REGULATORY_WIPHY_SELF_MANAGED &&
2856 if (rdev->wiphy.max_sched_scan_reqs &&
2858 rdev->wiphy.max_sched_scan_reqs))
2862 sizeof(rdev->wiphy.ext_features),
2863 rdev->wiphy.ext_features))
2866 if (rdev->wiphy.bss_select_support) {
2868 u32 bss_select_support = rdev->wiphy.bss_select_support;
2889 if (rdev->wiphy.num_iftype_ext_capab &&
2890 rdev->wiphy.iftype_ext_capab) {
2899 i < rdev->wiphy.num_iftype_ext_capab; i++) {
2902 capab = &rdev->wiphy.iftype_ext_capab[i];
2917 if (rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_MLO &&
2931 if (i < rdev->wiphy.num_iftype_ext_capab) {
2938 rdev->wiphy.nan_supported_bands))
2941 if (wiphy_ext_feature_isset(&rdev->wiphy,
2953 rdev->wiphy.txq_limit))
2956 rdev->wiphy.txq_memory_limit))
2959 rdev->wiphy.txq_quantum))
2972 if (rdev->wiphy.akm_suites &&
2974 sizeof(u32) * rdev->wiphy.n_akm_suites,
2975 rdev->wiphy.akm_suites))
2989 if (nl80211_put_mbssid_support(&rdev->wiphy, msg))
2993 rdev->wiphy.max_num_akm_suites))
2996 if (rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_MLO)
2999 if (rdev->wiphy.hw_timestamp_max_peers &&
3001 rdev->wiphy.hw_timestamp_max_peers))
3054 netdev->ieee80211_ptr->wiphy);
3089 if (!net_eq(wiphy_net(&rdev->wiphy), sock_net(skb->sk)))
3096 wiphy_lock(&rdev->wiphy);
3097 /* attempt to fit multiple wiphy data chunks into the skb */
3106 * If sending the wiphy data didn't fit (ENOBUFS
3109 * wiphy dataset is already in the skb) and
3123 wiphy_unlock(&rdev->wiphy);
3131 wiphy_unlock(&rdev->wiphy);
3242 chandef->chan = ieee80211_get_channel_khz(&rdev->wiphy, control_freq);
3332 !wiphy_ext_feature_isset(&rdev->wiphy,
3345 if (!_cfg80211_chandef_usable(&rdev->wiphy, chandef,
3354 !(rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_5_10_MHZ)) {
3402 if (!cfg80211_reg_can_beacon_relax(&rdev->wiphy, &chandef,
3409 !(rdev->wiphy.features &
3462 * Try to find the wiphy and netdev. Normally this
3465 * setting the channel was done per wiphy, but now
3476 rdev = wiphy_to_rdev(netdev->ieee80211_ptr->wiphy);
3494 wiphy_lock(&rdev->wiphy);
3587 if (!(rdev->wiphy.features & NL80211_FEATURE_VIF_TXPOWER))
3618 if ((!rdev->wiphy.available_antennas_tx &&
3619 !rdev->wiphy.available_antennas_rx) ||
3630 if ((~tx_ant && (tx_ant & ~rdev->wiphy.available_antennas_tx)) ||
3631 (~rx_ant && (rx_ant & ~rdev->wiphy.available_antennas_rx))) {
3636 tx_ant = tx_ant & rdev->wiphy.available_antennas_tx;
3637 rx_ant = rx_ant & rdev->wiphy.available_antennas_rx;
3698 if (!(rdev->wiphy.features & NL80211_FEATURE_ACKTO_ESTIMATION)) {
3707 if (!wiphy_ext_feature_isset(&rdev->wiphy,
3718 if (!wiphy_ext_feature_isset(&rdev->wiphy,
3729 if (!wiphy_ext_feature_isset(&rdev->wiphy,
3750 old_retry_short = rdev->wiphy.retry_short;
3751 old_retry_long = rdev->wiphy.retry_long;
3752 old_frag_threshold = rdev->wiphy.frag_threshold;
3753 old_rts_threshold = rdev->wiphy.rts_threshold;
3754 old_coverage_class = rdev->wiphy.coverage_class;
3755 old_txq_limit = rdev->wiphy.txq_limit;
3756 old_txq_memory_limit = rdev->wiphy.txq_memory_limit;
3757 old_txq_quantum = rdev->wiphy.txq_quantum;
3760 rdev->wiphy.retry_short = retry_short;
3762 rdev->wiphy.retry_long = retry_long;
3764 rdev->wiphy.frag_threshold = frag_threshold;
3766 rdev->wiphy.rts_threshold = rts_threshold;
3768 rdev->wiphy.coverage_class = coverage_class;
3770 rdev->wiphy.txq_limit = txq_limit;
3772 rdev->wiphy.txq_memory_limit = txq_memory_limit;
3774 rdev->wiphy.txq_quantum = txq_quantum;
3778 rdev->wiphy.retry_short = old_retry_short;
3779 rdev->wiphy.retry_long = old_retry_long;
3780 rdev->wiphy.frag_threshold = old_frag_threshold;
3781 rdev->wiphy.rts_threshold = old_rts_threshold;
3782 rdev->wiphy.coverage_class = old_coverage_class;
3783 rdev->wiphy.txq_limit = old_txq_limit;
3784 rdev->wiphy.txq_memory_limit = old_txq_memory_limit;
3785 rdev->wiphy.txq_quantum = old_txq_quantum;
3793 wiphy_unlock(&rdev->wiphy);
3842 lockdep_assert_wiphy(&rdev->wiphy);
3999 if (!net_eq(wiphy_net(&rdev->wiphy), sock_net(skb->sk)))
4011 wiphy_lock(&rdev->wiphy);
4012 list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) {
4021 wiphy_unlock(&rdev->wiphy);
4026 wiphy_unlock(&rdev->wiphy);
4113 !(rdev->wiphy.features & NL80211_FEATURE_ACTIVE_MONITOR))
4123 if (!wiphy_ext_feature_isset(&rdev->wiphy, cap_flag))
4144 if (!wiphy_ext_feature_isset(&rdev->wiphy, cap_flag))
4167 if (rdev->wiphy.flags & WIPHY_FLAG_4ADDR_AP)
4171 if (rdev->wiphy.flags & WIPHY_FLAG_4ADDR_STATION)
4271 rdev->wiphy.features & NL80211_FEATURE_MAC_ON_CREATE) &&
4286 if (!cfg80211_iftype_allowed(&rdev->wiphy, type, params.use_4addr, 0))
4351 wiphy_lock(&rdev->wiphy);
4353 wiphy_unlock(&rdev->wiphy);
4375 mutex_unlock(&rdev->wiphy.mtx);
4389 mutex_lock(&rdev->wiphy.mtx);
4507 if (wiphy_ext_feature_isset(&rdev->wiphy,
4513 wiphy_ext_feature_isset(&rdev->wiphy,
4542 if (!pairwise && mac_addr && !(rdev->wiphy.flags & WIPHY_FLAG_IBSS_RSN))
4672 wiphy_ext_feature_isset(&rdev->wiphy,
4802 !(rdev->wiphy.flags & WIPHY_FLAG_IBSS_RSN))
4847 static struct cfg80211_acl_data *parse_acl_data(struct wiphy *wiphy,
4855 if (!wiphy->max_acl_mac_addrs)
4873 if (n_entries > wiphy->max_acl_mac_addrs)
4904 acl = parse_acl_data(&rdev->wiphy, info);
5146 sband = rdev->wiphy.bands[i];
5186 sband = rdev->wiphy.bands[band];
5245 if (!(rdev->wiphy.bands[band]->ht_cap.ht_supported ||
5246 rdev->wiphy.bands[band]->vht_cap.vht_supported ||
5326 !wiphy_ext_feature_isset(&rdev->wiphy,
5330 !wiphy_ext_feature_isset(&rdev->wiphy,
5334 !wiphy_ext_feature_isset(&rdev->wiphy,
5338 !wiphy_ext_feature_isset(&rdev->wiphy,
5345 static int nl80211_parse_mbssid_config(struct wiphy *wiphy,
5353 if (!wiphy->mbssid_max_interfaces)
5363 if (!wiphy->ema_max_profile_periodicity)
5366 if (num_elems > wiphy->ema_max_profile_periodicity)
5371 if (config->index >= wiphy->mbssid_max_interfaces ||
5385 dev_get_by_index(wiphy_net(wiphy), tx_ifindex);
5388 tx_netdev->ieee80211_ptr->wiphy != wiphy ||
5409 nl80211_parse_mbssid_elems(struct wiphy *wiphy, struct nlattr *attrs)
5416 if (!wiphy->mbssid_max_interfaces)
5439 nl80211_parse_rnr_elems(struct wiphy *wiphy, struct nlattr *attrs,
5558 wiphy_ext_feature_isset(&rdev->wiphy,
5587 nl80211_parse_mbssid_elems(&rdev->wiphy,
5597 nl80211_parse_rnr_elems(&rdev->wiphy,
5665 if (!wiphy_ext_feature_isset(&rdev->wiphy,
5702 if (!wiphy_ext_feature_isset(&rdev->wiphy,
5806 list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) {
5830 if (!(rdev->wiphy.features & NL80211_FEATURE_SAE) &&
5833 if (!wiphy_ext_feature_isset(&rdev->wiphy,
5841 if (!(rdev->wiphy.features & NL80211_FEATURE_SAE) &&
5842 !wiphy_ext_feature_isset(&rdev->wiphy,
5852 &rdev->wiphy,
5858 if (!wiphy_ext_feature_isset(&rdev->wiphy,
5876 struct wiphy *wiphy = wdev->wiphy;
5877 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
5902 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(wiphy), msg, 0,
6020 if (!(rdev->wiphy.features & NL80211_FEATURE_INACTIVITY_TIMER)) {
6036 !(rdev->wiphy.features & NL80211_FEATURE_P2P_GO_CTWIN)) {
6052 !(rdev->wiphy.features & NL80211_FEATURE_P2P_GO_OPPPS)) {
6073 if (!cfg80211_reg_can_beacon_relax(&rdev->wiphy, &params->chandef,
6100 if (!(rdev->wiphy.features &
6107 if (!(rdev->wiphy.features &
6122 if (params->pbss && !rdev->wiphy.bands[NL80211_BAND_60GHZ]) {
6128 params->acl = parse_acl_data(&rdev->wiphy, info);
6164 err = nl80211_parse_mbssid_config(&rdev->wiphy, dev,
6592 if (wiphy_ext_feature_isset(&rdev->wiphy,
6596 switch (rdev->wiphy.signal_type) {
6672 if (wiphy_ext_feature_isset(&rdev->wiphy,
6775 __acquire(&rdev->wiphy.mtx);
6810 wiphy_unlock(&rdev->wiphy);
6854 int cfg80211_check_station_change(struct wiphy *wiphy,
6962 if (!(wiphy->features & NL80211_FEATURE_FULL_AP_CLIENT_STATE) &&
7012 * Get vlan interface making sure it is running and on the right wiphy.
7028 if (!v->ieee80211_ptr || v->ieee80211_ptr->wiphy != &rdev->wiphy) {
7161 !wiphy_ext_feature_isset(&rdev->wiphy,
7302 !wiphy_ext_feature_isset(&rdev->wiphy,
7474 !wiphy_ext_feature_isset(&rdev->wiphy,
7524 if (!(rdev->wiphy.flags & WIPHY_FLAG_AP_UAPSD) ||
7536 if (!(rdev->wiphy.features &
7541 if (!wiphy_ext_feature_isset(&rdev->wiphy,
7592 if (!(rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_TDLS))
7595 if (!(rdev->wiphy.flags & WIPHY_FLAG_TDLS_EXTERNAL_SETUP))
7652 if (wiphy_ext_feature_isset(&rdev->wiphy,
7773 __acquire(&rdev->wiphy.mtx);
7806 wiphy_unlock(&rdev->wiphy);
7973 __acquire(&rdev->wiphy.mtx);
8006 wiphy_unlock(&rdev->wiphy);
8054 !(rdev->wiphy.features & NL80211_FEATURE_P2P_GO_CTWIN))
8066 !(rdev->wiphy.features & NL80211_FEATURE_P2P_GO_OPPPS))
8491 !(rdev->wiphy.features & NL80211_FEATURE_USERSPACE_MPM))
8608 struct wiphy *wiphy = NULL;
8633 wiphy = &rdev->wiphy;
8634 self_managed = wiphy->regulatory_flags &
8639 regdom = get_wiphy_regdom(wiphy);
8648 nla_put_u32(msg, NL80211_ATTR_WIPHY, get_wiphy_idx(wiphy)))
8654 if (!wiphy && reg_last_request_cell_base() &&
8681 u32 seq, int flags, struct wiphy *wiphy,
8695 if (!wiphy && reg_last_request_cell_base() &&
8700 if (wiphy &&
8701 nla_put_u32(msg, NL80211_ATTR_WIPHY, get_wiphy_idx(wiphy)))
8704 if (wiphy && wiphy->regulatory_flags & REGULATORY_WIPHY_SELF_MANAGED &&
8736 regdom = get_wiphy_regdom(&rdev->wiphy);
8744 NLM_F_MULTI, &rdev->wiphy, regdom);
8919 static bool is_band_valid(struct wiphy *wiphy, enum nl80211_band b)
8921 return b < NUM_NL80211_BANDS && wiphy->bands[b];
8924 static int parse_bss_select(struct nlattr *nla, struct wiphy *wiphy,
8962 if (!is_band_valid(wiphy, bss_select->param.band_pref))
8973 if (!is_band_valid(wiphy, bss_select->param.adjust.band))
8981 if (!(wiphy->bss_select_support & BIT(bss_select->behaviour)))
9030 lockdep_assert_wiphy(wdev->wiphy);
9064 return regulatory_pre_cac_allowed(wdev->wiphy);
9067 static bool nl80211_check_scan_feat(struct wiphy *wiphy, u32 flags, u32 flag,
9072 if (wiphy_ext_feature_isset(wiphy, feat))
9078 nl80211_check_scan_flags(struct wiphy *wiphy, struct wireless_dev *wdev,
9110 !(wiphy->features & NL80211_FEATURE_LOW_PRIORITY_SCAN)) ||
9111 !nl80211_check_scan_feat(wiphy, *flags,
9114 !nl80211_check_scan_feat(wiphy, *flags,
9117 !nl80211_check_scan_feat(wiphy, *flags,
9120 !nl80211_check_scan_feat(wiphy, *flags,
9123 !nl80211_check_scan_feat(wiphy, *flags,
9126 !nl80211_check_scan_feat(wiphy, *flags,
9129 !nl80211_check_scan_feat(wiphy, *flags,
9132 !nl80211_check_scan_feat(wiphy, *flags,
9135 !nl80211_check_scan_feat(wiphy, *flags,
9143 if (!(wiphy->features & randomness_flag) ||
9163 struct wiphy *wiphy;
9168 wiphy = &rdev->wiphy;
9180 if (!wiphy_ext_feature_isset(wiphy,
9193 n_channels = ieee80211_get_num_supported_channels(wiphy);
9200 if (n_ssids > wiphy->max_scan_ssids)
9208 if (ie_len > wiphy->max_scan_ie_len)
9237 chan = ieee80211_get_channel_khz(wiphy, freq);
9257 if (!wiphy->bands[band])
9259 for (j = 0; j < wiphy->bands[band]->n_channels; j++) {
9262 chan = &wiphy->bands[band]->channels[j];
9314 if (wiphy->bands[i])
9316 (1 << wiphy->bands[i]->n_bitrates) - 1;
9329 if (!wiphy->bands[band])
9332 err = ieee80211_get_ratemask(wiphy->bands[band],
9348 err = nl80211_check_scan_flags(wiphy, wdev, request, info->attrs,
9377 request->wiphy = &rdev->wiphy;
9417 nl80211_parse_sched_scan_plans(struct wiphy *wiphy, int n_plans,
9443 wiphy->max_sched_scan_plan_interval)
9445 wiphy->max_sched_scan_plan_interval;
9470 wiphy->max_sched_scan_plan_interval)
9478 wiphy->max_sched_scan_plan_iterations))
9502 nl80211_parse_sched_scan(struct wiphy *wiphy, struct wireless_dev *wdev,
9519 n_channels = ieee80211_get_num_supported_channels(wiphy);
9527 if (n_ssids > wiphy->max_sched_scan_ssids)
9582 if (ie_len > wiphy->max_sched_scan_ie_len)
9609 if (!n_plans || n_plans > wiphy->max_sched_scan_plans)
9613 wiphy, NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI) &&
9671 chan = ieee80211_get_channel(wiphy, nla_get_u32(attr));
9690 if (!wiphy->bands[band])
9692 for (j = 0; j < wiphy->bands[band]->n_channels; j++) {
9695 chan = &wiphy->bands[band]->channels[j];
9798 err = nl80211_check_scan_flags(wiphy, wdev, request, attrs, true);
9820 if (!is_band_valid(wiphy, request->rssi_adjust.band)) {
9826 err = nl80211_parse_sched_scan_plans(wiphy, n_plans, request, attrs);
9849 if (!rdev->wiphy.max_sched_scan_reqs || !rdev->ops->sched_scan_start)
9857 sched_scan_req = nl80211_parse_sched_scan(&rdev->wiphy, wdev,
9859 rdev->wiphy.max_match_sets);
9868 if (want_multi && rdev->wiphy.max_sched_scan_reqs > 1)
9876 sched_scan_req->wiphy = &rdev->wiphy;
9899 if (!rdev->wiphy.max_sched_scan_reqs || !rdev->ops->sched_scan_stop)
9924 struct wiphy *wiphy = wdev->wiphy;
9932 wiphy_lock(wiphy);
9934 dfs_region = reg_get_dfs_region(wiphy);
9942 err = cfg80211_chandef_dfs_required(wiphy, &chandef, wdev->iftype);
9951 if (!cfg80211_chandef_dfs_usable(wiphy, &chandef)) {
9973 if (wiphy_ext_feature_isset(wiphy, NL80211_EXT_FEATURE_DFS_OFFLOAD)) {
9983 cac_time_ms = cfg80211_chandef_dfs_cac_time(&rdev->wiphy, &chandef);
9995 wiphy_unlock(wiphy);
10006 struct wiphy *wiphy = wdev->wiphy;
10011 dfs_region = reg_get_dfs_region(wiphy);
10024 err = cfg80211_chandef_dfs_required(wiphy, &chandef, wdev->iftype);
10042 cfg80211_set_dfs_state(wiphy, &chandef, NL80211_DFS_UNAVAILABLE);
10070 if (rdev->wiphy.max_num_csa_counters &&
10071 (*n_offsets > rdev->wiphy.max_num_csa_counters))
10104 !(rdev->wiphy.flags & WIPHY_FLAG_HAS_CHANNEL_SWITCH))
10208 if (!cfg80211_reg_can_beacon_relax(&rdev->wiphy, &params.chandef,
10214 err = cfg80211_chandef_dfs_required(wdev->wiphy,
10256 lockdep_assert_wiphy(wdev->wiphy);
10340 switch (rdev->wiphy.signal_type) {
10419 __acquire(&rdev->wiphy.mtx);
10455 wiphy_unlock(&rdev->wiphy);
10559 __acquire(&rdev->wiphy.mtx);
10601 wiphy_unlock(&rdev->wiphy);
10655 for (i = 0; i < rdev->wiphy.n_cipher_suites; i++) {
10656 if (key.p.cipher == rdev->wiphy.cipher_suites[i]) {
10678 chan = nl80211_get_valid_chan(&rdev->wiphy, freq);
10726 if (!(rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_MLO))
10735 req.bss = cfg80211_get_bss(&rdev->wiphy, chan, bssid, ssid, ssid_len,
10743 cfg80211_put_bss(&rdev->wiphy, req.bss);
10757 !wiphy_ext_feature_isset(&rdev->wiphy,
10779 if (!(rdev->wiphy.flags & WIPHY_FLAG_CONTROL_PORT_PROTOCOL) &&
10817 &rdev->wiphy,
10825 if (!cfg80211_supported_cipher_suite(&rdev->wiphy,
10845 if (settings->n_akm_suites > rdev->wiphy.max_num_akm_suites)
10854 if (!wiphy_ext_feature_isset(&rdev->wiphy,
10856 !wiphy_ext_feature_isset(&rdev->wiphy,
10863 if (!wiphy_ext_feature_isset(&rdev->wiphy,
10865 !wiphy_ext_feature_isset(&rdev->wiphy,
10902 chan = nl80211_get_valid_chan(&rdev->wiphy, freq);
10911 bss = __cfg80211_get_bss(&rdev->wiphy, chan, bssid,
11013 if (!((rdev->wiphy.features &
11015 (rdev->wiphy.features & NL80211_FEATURE_QUIET)) &&
11016 !wiphy_ext_feature_isset(&rdev->wiphy,
11048 if (!wiphy_ext_feature_isset(&rdev->wiphy,
11066 if (!(rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_MLO))
11222 cfg80211_put_bss(&rdev->wiphy, req.links[link_id].bss);
11223 cfg80211_put_bss(&rdev->wiphy, req.bss);
11324 struct wiphy *wiphy = &rdev->wiphy;
11331 sband = wiphy->bands[band];
11352 struct wiphy *wiphy;
11379 wiphy = &rdev->wiphy;
11399 if (!cfg80211_reg_can_beacon(&rdev->wiphy, &ibss.chandef,
11410 if (!(rdev->wiphy.features & NL80211_FEATURE_HT_IBSS))
11416 if (!(rdev->wiphy.features & NL80211_FEATURE_HT_IBSS))
11418 if (!wiphy_ext_feature_isset(&rdev->wiphy,
11437 wiphy->bands[ibss.chandef.chan->band];
11603 struct sk_buff *__cfg80211_alloc_event_skb(struct wiphy *wiphy,
11611 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
11622 vendor_event_idx >= wiphy->n_vendor_events))
11624 info = &wiphy->vendor_events[vendor_event_idx];
11651 genlmsg_unicast(wiphy_net(&rdev->wiphy), skb,
11657 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy),
11670 lockdep_assert_held(&rdev->wiphy.mtx);
11683 } else if (wdev->wiphy != &rdev->wiphy) {
11807 struct wiphy *wiphy;
11830 !wiphy_ext_feature_isset(&rdev->wiphy,
11844 wiphy = &rdev->wiphy;
11848 (wiphy->flags & WIPHY_FLAG_SUPPORTS_FW_ROAM)) {
11869 !wiphy_ext_feature_isset(&rdev->wiphy,
11888 connect.channel = nl80211_get_valid_chan(wiphy, freq);
11894 connect.channel_hint = nl80211_get_valid_chan(wiphy, freq);
11957 if (!((rdev->wiphy.features &
11959 (rdev->wiphy.features & NL80211_FEATURE_QUIET)) &&
11960 !wiphy_ext_feature_isset(&rdev->wiphy,
11969 if (connect.pbss && !rdev->wiphy.bands[NL80211_BAND_60GHZ]) {
11982 wiphy, &connect.bss_select);
11989 if (wiphy_ext_feature_isset(&rdev->wiphy,
12068 fils_sk_offload = wiphy_ext_feature_isset(&rdev->wiphy,
12173 if (!net_eq(wiphy_net(&rdev->wiphy), net))
12189 ap_pmksa_caching_support = wiphy_ext_feature_isset(&rdev->wiphy,
12246 sae_offload_support = wiphy_ext_feature_isset(&rdev->wiphy,
12248 owe_offload_support = wiphy_ext_feature_isset(&rdev->wiphy,
12250 ap_pmksa_caching_support = wiphy_ext_feature_isset(&rdev->wiphy,
12313 if (!(rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_TDLS) ||
12348 if (!(rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_TDLS) ||
12382 !(rdev->wiphy.flags & WIPHY_FLAG_HAS_REMAIN_ON_CHANNEL))
12390 duration > rdev->wiphy.max_remain_on_channel_duration)
12510 if (!wiphy_ext_feature_isset(wdev->wiphy,
12523 !wiphy_ext_feature_isset(&rdev->wiphy,
12571 if (!wiphy_ext_feature_isset(wdev->wiphy,
12580 if (!(rdev->wiphy.flags & WIPHY_FLAG_OFFCHAN_TX))
12589 params.wait > rdev->wiphy.max_remain_on_channel_duration)
12595 if (params.offchan && !(rdev->wiphy.flags & WIPHY_FLAG_OFFCHAN_TX))
12695 if (!wiphy_ext_feature_isset(wdev->wiphy,
12900 old = wiphy_dereference(wdev->wiphy, wdev->cqm_config);
12907 if (!wiphy_ext_feature_isset(&rdev->wiphy,
13100 sband = rdev->wiphy.bands[setup.chandef.chan->band];
13156 struct cfg80211_wowlan *wowlan = rdev->wiphy.wowlan_config;
13327 if (!rdev->wiphy.wowlan)
13330 if (rdev->wiphy.wowlan_config && rdev->wiphy.wowlan_config->tcp) {
13332 size += rdev->wiphy.wowlan_config->tcp->tokens_size +
13333 rdev->wiphy.wowlan_config->tcp->payload_len +
13334 rdev->wiphy.wowlan_config->tcp->wake_len +
13335 rdev->wiphy.wowlan_config->tcp->wake_len / 8;
13347 if (rdev->wiphy.wowlan_config) {
13355 if ((rdev->wiphy.wowlan_config->any &&
13357 (rdev->wiphy.wowlan_config->disconnect &&
13359 (rdev->wiphy.wowlan_config->magic_pkt &&
13361 (rdev->wiphy.wowlan_config->gtk_rekey_failure &&
13363 (rdev->wiphy.wowlan_config->eap_identity_req &&
13365 (rdev->wiphy.wowlan_config->four_way_handshake &&
13367 (rdev->wiphy.wowlan_config->rfkill_release &&
13375 rdev->wiphy.wowlan_config->tcp))
13380 rdev->wiphy.wowlan_config->nd_config))
13406 if (!rdev->wiphy.wowlan->tcp)
13425 if (data_size > rdev->wiphy.wowlan->tcp->data_payload_max)
13429 rdev->wiphy.wowlan->tcp->data_interval_max ||
13434 if (wake_size > rdev->wiphy.wowlan->tcp->wake_payload_max)
13449 if (!rdev->wiphy.wowlan->tcp->tok)
13451 if (tok->len > rdev->wiphy.wowlan->tcp->tok->max_len)
13453 if (tok->len < rdev->wiphy.wowlan->tcp->tok->min_len)
13455 if (tokens_size > rdev->wiphy.wowlan->tcp->tok->bufsize)
13463 if (!rdev->wiphy.wowlan->tcp->seq)
13489 err = __sock_create(wiphy_net(&rdev->wiphy), PF_INET, SOCK_STREAM,
13562 trig->nd_config = nl80211_parse_sched_scan(&rdev->wiphy, NULL, tb,
13579 const struct wiphy_wowlan_support *wowlan = rdev->wiphy.wowlan;
13581 bool prev_enabled = rdev->wiphy.wowlan_config;
13589 rdev->wiphy.wowlan_config = NULL;
13759 rdev->wiphy.wowlan_config = ntrig;
13763 prev_enabled != !!rdev->wiphy.wowlan_config)
13764 rdev_set_wakeup(rdev, rdev->wiphy.wowlan_config);
13841 if (!rdev->wiphy.coalesce)
13889 const struct wiphy_coalesce_support *coalesce = rdev->wiphy.coalesce;
13978 const struct wiphy_coalesce_support *coalesce = rdev->wiphy.coalesce;
13985 if (!rdev->wiphy.coalesce || !rdev->ops->set_coalesce)
14067 !(rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK &&
14071 !(rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK &&
14073 !(rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_EXT_KCK_32 &&
14171 if (!(rdev->wiphy.flags & WIPHY_FLAG_REPORTS_OBSS))
14214 if (rfkill_blocked(rdev->wiphy.rfkill))
14256 if (rfkill_blocked(rdev->wiphy.rfkill))
14268 if (bands & ~(u32)wdev->wiphy->nan_supported_bands)
14650 if (bands & ~(u32)wdev->wiphy->nan_supported_bands)
14669 struct wiphy *wiphy = wdev->wiphy;
14670 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
14733 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy),
14736 genlmsg_unicast(wiphy_net(&rdev->wiphy), msg,
14751 struct wiphy *wiphy = wdev->wiphy;
14752 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
14793 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy),
14796 genlmsg_unicast(wiphy_net(&rdev->wiphy), msg,
14940 if (!rdev->wiphy.vendor_commands)
14948 } else if (wdev->wiphy != &rdev->wiphy) {
14958 for (i = 0; i < rdev->wiphy.n_vendor_commands; i++) {
14963 vcmd = &rdev->wiphy.vendor_commands[i];
14999 err = vcmd->doit(&rdev->wiphy, wdev, data, len);
15022 struct wiphy *wiphy = wiphy_idx_to_wiphy(cb->args[0] - 1);
15025 if (!wiphy)
15027 *rdev = wiphy_to_rdev(wiphy);
15031 list_for_each_entry(tmp, &wiphy->wdev_list, list) {
15073 for (i = 0; i < (*rdev)->wiphy.n_vendor_commands; i++) {
15076 vcmd = &(*rdev)->wiphy.vendor_commands[i];
15100 &(*rdev)->wiphy.vendor_commands[vcmd_idx],
15142 vcmd = &rdev->wiphy.vendor_commands[vcmd_idx];
15186 err = vcmd->dumpit(&rdev->wiphy, wdev, skb, data, data_len,
15207 struct sk_buff *__cfg80211_alloc_reply_skb(struct wiphy *wiphy,
15212 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
15244 unsigned int cfg80211_vendor_cmd_get_sender(struct wiphy *wiphy)
15246 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
15312 if (!(rdev->wiphy.features & NL80211_FEATURE_SUPPORTS_WMM_ADMISSION))
15381 !(rdev->wiphy.features & NL80211_FEATURE_TDLS_CHANNEL_SWITCH))
15411 if (!cfg80211_reg_can_beacon_relax(&rdev->wiphy, &chandef,
15416 if (cfg80211_chandef_dfs_required(wdev->wiphy, &chandef, wdev->iftype))
15434 !(rdev->wiphy.features & NL80211_FEATURE_TDLS_CHANNEL_SWITCH))
15488 if (!wiphy_ext_feature_isset(&rdev->wiphy,
15526 if (!wiphy_ext_feature_isset(&rdev->wiphy,
15594 if (!wiphy_ext_feature_isset(&rdev->wiphy,
15823 if (tid_conf->retry_short > rdev->wiphy.max_data_retry_count)
15832 if (tid_conf->retry_long > rdev->wiphy.max_data_retry_count)
15873 mask = rdev->wiphy.tid_config_support.peer;
15875 mask = rdev->wiphy.tid_config_support.vif;
15955 if (!wiphy_ext_feature_isset(&rdev->wiphy,
16078 if (!(wdev->wiphy->flags & WIPHY_FLAG_SUPPORTS_MLO))
16257 if (!rdev->wiphy.hw_timestamp_max_peers)
16261 rdev->wiphy.hw_timestamp_max_peers != CFG80211_HW_TIMESTAMP_ALL_PEERS)
16424 rdev = wiphy_to_rdev(wdev->wiphy);
16478 wiphy_lock(&rdev->wiphy);
16480 __release(&rdev->wiphy.mtx);
16513 __acquire(&rdev->wiphy.mtx);
16514 wiphy_unlock(&rdev->wiphy);
16548 if (range_index >= rdev->wiphy.sar_capa->num_freq_ranges)
16576 if (!rdev->wiphy.sar_capa || !rdev->ops->set_sar_specs)
16590 if (type != rdev->wiphy.sar_capa->type)
16597 if (specs > rdev->wiphy.sar_capa->num_freq_ranges)
16683 /* we take the wiphy mutex later ourselves */
17536 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
17555 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
17664 wiphy_to_rdev(req->wiphy)->wiphy_idx) ||
17693 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
17723 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
17740 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(req->wiphy), msg, 0,
17773 struct wiphy *wiphy = wiphy_idx_to_wiphy(request->wiphy_idx);
17775 if (wiphy &&
17779 if (wiphy &&
17780 wiphy->regulatory_flags & REGULATORY_WIPHY_SELF_MANAGED &&
17880 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
17952 struct wiphy *wiphy = wdev->wiphy;
17953 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
18008 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
18137 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
18241 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
18278 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
18314 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
18325 struct wiphy *wiphy = wdev->wiphy;
18326 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
18331 lockdep_assert_wiphy(wdev->wiphy);
18383 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
18416 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
18429 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
18459 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
18497 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
18505 void nl80211_send_beacon_hint_event(struct wiphy *wiphy,
18524 * Since we are applying the beacon hint to a wiphy we know its
18527 if (nla_put_u32(msg, NL80211_ATTR_WIPHY, get_wiphy_idx(wiphy)))
18535 if (nl80211_msg_put_channel(msg, wiphy, channel_before, false))
18544 if (nl80211_msg_put_channel(msg, wiphy, channel_after, false))
18598 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
18610 struct wiphy *wiphy = wdev->wiphy;
18611 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
18635 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
18648 struct wiphy *wiphy = wdev->wiphy;
18649 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
18662 struct wiphy *wiphy = wdev->wiphy;
18663 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
18675 struct wiphy *wiphy = wdev->wiphy;
18676 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
18687 struct wiphy *wiphy = dev->ieee80211_ptr->wiphy;
18688 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
18703 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
18711 struct wiphy *wiphy = dev->ieee80211_ptr->wiphy;
18712 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
18733 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
18742 struct wiphy *wiphy = dev->ieee80211_ptr->wiphy;
18743 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
18764 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
18777 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
18801 genlmsg_unicast(wiphy_net(&rdev->wiphy), msg, nlportid);
18895 return genlmsg_unicast(wiphy_net(&rdev->wiphy), msg, nlportid);
18906 struct wiphy *wiphy = wdev->wiphy;
18907 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
18948 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
18986 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
19028 return genlmsg_unicast(wiphy_net(&rdev->wiphy), msg, nlportid);
19052 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
19096 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
19118 wiphy_work_queue(wdev->wiphy, &wdev->cqm_rssi_work);
19124 void cfg80211_cqm_rssi_notify_work(struct wiphy *wiphy, struct wiphy_work *work)
19128 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
19134 cqm_config = wiphy_dereference(wdev->wiphy, wdev->cqm_config);
19267 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
19279 struct wiphy *wiphy = wdev->wiphy;
19280 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
19324 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
19336 struct wiphy *wiphy = wdev->wiphy;
19337 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
19386 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
19399 struct wiphy *wiphy = wdev->wiphy;
19400 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
19402 lockdep_assert_wiphy(wdev->wiphy);
19444 struct wiphy *wiphy = wdev->wiphy;
19445 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
19447 lockdep_assert_wiphy(wdev->wiphy);
19464 struct wiphy *wiphy = wdev->wiphy;
19465 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
19469 lockdep_assert_wiphy(wdev->wiphy);
19499 return genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy),
19548 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
19562 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
19601 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
19616 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
19645 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
19654 void cfg80211_report_obss_beacon_khz(struct wiphy *wiphy, const u8 *frame,
19657 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
19662 trace_cfg80211_report_obss_beacon(wiphy, frame, len, freq, sig_dbm);
19689 genlmsg_unicast(wiphy_net(&rdev->wiphy), msg, reg->nlportid);
19764 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
19769 trace_cfg80211_report_wowlan_wakeup(wdev->wiphy, wdev, wakeup);
19870 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
19885 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
19889 trace_cfg80211_tdls_oper_request(wdev->wiphy, dev, peer, oper,
19912 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
19943 wiphy_work_queue(&rdev->wiphy,
19948 list_for_each_entry_rcu(wdev, &rdev->wiphy.wdev_list, list) {
19990 struct wiphy *wiphy = netdev->ieee80211_ptr->wiphy;
19991 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
19995 trace_cfg80211_ft_event(wiphy, netdev, ft_event);
20024 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
20039 rdev = wiphy_to_rdev(wdev->wiphy);
20061 genlmsg_unicast(wiphy_net(&rdev->wiphy), msg, nlportid);
20071 struct wiphy *wiphy = wdev->wiphy;
20072 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
20094 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(wiphy), msg, 0,
20106 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
20151 genlmsg_unicast(wiphy_net(&rdev->wiphy), msg,
20165 struct wiphy *wiphy = netdev->ieee80211_ptr->wiphy;
20166 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy);
20170 trace_cfg80211_update_owe_info_event(wiphy, netdev, owe_info);
20202 genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
20214 struct wiphy *wiphy = wdev->wiphy;
20218 (wiphy_ext_feature_isset(wiphy,
20221 wiphy->regulatory_flags & REGULATORY_ENABLE_RELAX_NO_IR)))