Lines Matching refs:wdev
97 struct wireless_dev *wdev; in __cfg80211_wdev_from_attrs() local
105 list_for_each_entry(wdev, &rdev->wdev_list, list) { in __cfg80211_wdev_from_attrs()
106 if (have_ifidx && wdev->netdev && in __cfg80211_wdev_from_attrs()
107 wdev->netdev->ifindex == ifidx) { in __cfg80211_wdev_from_attrs()
108 result = wdev; in __cfg80211_wdev_from_attrs()
111 if (have_wdev_id && wdev->identifier == (u32)wdev_id) { in __cfg80211_wdev_from_attrs()
112 result = wdev; in __cfg80211_wdev_from_attrs()
145 struct wireless_dev *wdev; in __cfg80211_rdev_from_attrs() local
151 list_for_each_entry(wdev, &tmp->wdev_list, list) { in __cfg80211_rdev_from_attrs()
152 if (wdev->identifier != (u32)wdev_id) in __cfg80211_rdev_from_attrs()
484 struct wireless_dev **wdev) in nl80211_prepare_wdev_dump() argument
497 *wdev = __cfg80211_wdev_from_attrs(sock_net(skb->sk), in nl80211_prepare_wdev_dump()
499 if (IS_ERR(*wdev)) { in nl80211_prepare_wdev_dump()
500 err = PTR_ERR(*wdev); in nl80211_prepare_wdev_dump()
503 *rdev = wiphy_to_rdev((*wdev)->wiphy); in nl80211_prepare_wdev_dump()
506 cb->args[1] = (*wdev)->identifier; in nl80211_prepare_wdev_dump()
517 *wdev = NULL; in nl80211_prepare_wdev_dump()
521 *wdev = tmp; in nl80211_prepare_wdev_dump()
526 if (!*wdev) { in nl80211_prepare_wdev_dump()
877 static int nl80211_key_allowed(struct wireless_dev *wdev) in nl80211_key_allowed() argument
879 ASSERT_WDEV_LOCK(wdev); in nl80211_key_allowed()
881 switch (wdev->iftype) { in nl80211_key_allowed()
890 if (!wdev->current_bss) in nl80211_key_allowed()
1894 static bool nl80211_can_set_dev_channel(struct wireless_dev *wdev) in nl80211_can_set_dev_channel() argument
1911 return !wdev || in nl80211_can_set_dev_channel()
1912 wdev->iftype == NL80211_IFTYPE_AP || in nl80211_can_set_dev_channel()
1913 wdev->iftype == NL80211_IFTYPE_MESH_POINT || in nl80211_can_set_dev_channel()
1914 wdev->iftype == NL80211_IFTYPE_MONITOR || in nl80211_can_set_dev_channel()
1915 wdev->iftype == NL80211_IFTYPE_P2P_GO; in nl80211_can_set_dev_channel()
1990 struct wireless_dev *wdev = NULL; in __nl80211_set_channel() local
1993 wdev = dev->ieee80211_ptr; in __nl80211_set_channel()
1994 if (!nl80211_can_set_dev_channel(wdev)) in __nl80211_set_channel()
1996 if (wdev) in __nl80211_set_channel()
1997 iftype = wdev->iftype; in __nl80211_set_channel()
2010 if (wdev->beacon_interval) { in __nl80211_set_channel()
2019 if (chandef.chan != wdev->preset_chandef.chan) { in __nl80211_set_channel()
2027 wdev->preset_chandef = chandef; in __nl80211_set_channel()
2031 result = cfg80211_set_mesh_channel(rdev, wdev, &chandef); in __nl80211_set_channel()
2055 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_set_wds_peer() local
2067 if (wdev->iftype != NL80211_IFTYPE_WDS) in nl80211_set_wds_peer()
2079 struct wireless_dev *wdev; in nl80211_set_wiphy() local
2114 wdev = NULL; in nl80211_set_wiphy()
2118 wdev = netdev->ieee80211_ptr; in nl80211_set_wiphy()
2172 nl80211_can_set_dev_channel(wdev) ? netdev : NULL, in nl80211_set_wiphy()
2179 struct wireless_dev *txp_wdev = wdev; in nl80211_set_wiphy()
2328 static inline u64 wdev_id(struct wireless_dev *wdev) in wdev_id() argument
2330 return (u64)wdev->identifier | in wdev_id()
2331 ((u64)wiphy_to_rdev(wdev->wiphy)->wiphy_idx << 32); in wdev_id()
2366 struct wireless_dev *wdev, bool removal) in nl80211_send_iface() argument
2368 struct net_device *dev = wdev->netdev; in nl80211_send_iface()
2385 nla_put_u32(msg, NL80211_ATTR_IFTYPE, wdev->iftype) || in nl80211_send_iface()
2386 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev)) || in nl80211_send_iface()
2387 nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN, wdev_address(wdev)) || in nl80211_send_iface()
2397 ret = rdev_get_channel(rdev, wdev, &chandef); in nl80211_send_iface()
2404 if (wdev->ssid_len) { in nl80211_send_iface()
2405 if (nla_put(msg, NL80211_ATTR_SSID, wdev->ssid_len, wdev->ssid)) in nl80211_send_iface()
2424 struct wireless_dev *wdev; in nl80211_dump_interface() local
2436 list_for_each_entry(wdev, &rdev->wdev_list, list) { in nl80211_dump_interface()
2443 rdev, wdev, false) < 0) { in nl80211_dump_interface()
2464 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_get_interface() local
2471 rdev, wdev, false) < 0) { in nl80211_get_interface()
2558 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_set_interface() local
2565 wdev_lock(wdev); in nl80211_set_interface()
2568 wdev->mesh_id_up_len = in nl80211_set_interface()
2570 memcpy(wdev->ssid, nla_data(info->attrs[NL80211_ATTR_MESH_ID]), in nl80211_set_interface()
2571 wdev->mesh_id_up_len); in nl80211_set_interface()
2572 wdev_unlock(wdev); in nl80211_set_interface()
2616 struct wireless_dev *wdev; in nl80211_new_interface() local
2668 wdev = rdev_add_virtual_intf(rdev, in nl80211_new_interface()
2672 if (WARN_ON(!wdev)) { in nl80211_new_interface()
2675 } else if (IS_ERR(wdev)) { in nl80211_new_interface()
2677 return PTR_ERR(wdev); in nl80211_new_interface()
2681 wdev->owner_nlportid = info->snd_portid; in nl80211_new_interface()
2687 wdev_lock(wdev); in nl80211_new_interface()
2690 wdev->mesh_id_up_len = in nl80211_new_interface()
2692 memcpy(wdev->ssid, nla_data(info->attrs[NL80211_ATTR_MESH_ID]), in nl80211_new_interface()
2693 wdev->mesh_id_up_len); in nl80211_new_interface()
2694 wdev_unlock(wdev); in nl80211_new_interface()
2701 mutex_init(&wdev->mtx); in nl80211_new_interface()
2702 INIT_LIST_HEAD(&wdev->event_list); in nl80211_new_interface()
2703 spin_lock_init(&wdev->event_lock); in nl80211_new_interface()
2704 INIT_LIST_HEAD(&wdev->mgmt_registrations); in nl80211_new_interface()
2705 spin_lock_init(&wdev->mgmt_registrations_lock); in nl80211_new_interface()
2707 wdev->identifier = ++rdev->wdev_id; in nl80211_new_interface()
2708 list_add_rcu(&wdev->list, &rdev->wdev_list); in nl80211_new_interface()
2716 rdev, wdev, false) < 0) { in nl80211_new_interface()
2724 rdev, wdev, false) < 0) { in nl80211_new_interface()
2741 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_del_interface() local
2749 if (msg && nl80211_send_iface(msg, 0, 0, 0, rdev, wdev, true) < 0) { in nl80211_del_interface()
2761 if (!wdev->netdev) in nl80211_del_interface()
2764 status = rdev_del_virtual_intf(rdev, wdev); in nl80211_del_interface()
3241 struct wireless_dev *wdev; in nl80211_get_ap_channel() local
3244 list_for_each_entry(wdev, &rdev->wdev_list, list) { in nl80211_get_ap_channel()
3245 if (wdev->iftype != NL80211_IFTYPE_AP && in nl80211_get_ap_channel()
3246 wdev->iftype != NL80211_IFTYPE_P2P_GO) in nl80211_get_ap_channel()
3249 if (!wdev->preset_chandef.chan) in nl80211_get_ap_channel()
3252 params->chandef = wdev->preset_chandef; in nl80211_get_ap_channel()
3288 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_start_ap() local
3299 if (wdev->beacon_interval) in nl80211_start_ap()
3401 } else if (wdev->preset_chandef.chan) { in nl80211_start_ap()
3402 params.chandef = wdev->preset_chandef; in nl80211_start_ap()
3407 wdev->iftype)) in nl80211_start_ap()
3439 wdev_lock(wdev); in nl80211_start_ap()
3442 wdev->preset_chandef = params.chandef; in nl80211_start_ap()
3443 wdev->beacon_interval = params.beacon_interval; in nl80211_start_ap()
3444 wdev->chandef = params.chandef; in nl80211_start_ap()
3445 wdev->ssid_len = params.ssid_len; in nl80211_start_ap()
3446 memcpy(wdev->ssid, params.ssid, wdev->ssid_len); in nl80211_start_ap()
3448 wdev_unlock(wdev); in nl80211_start_ap()
3459 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_set_beacon() local
3470 if (!wdev->beacon_interval) in nl80211_set_beacon()
3477 wdev_lock(wdev); in nl80211_set_beacon()
3479 wdev_unlock(wdev); in nl80211_set_beacon()
3857 struct wireless_dev *wdev; in nl80211_dump_station() local
3862 err = nl80211_prepare_wdev_dump(skb, cb, &rdev, &wdev); in nl80211_dump_station()
3866 if (!wdev->netdev) { in nl80211_dump_station()
3878 err = rdev_dump_station(rdev, wdev->netdev, sta_idx, in nl80211_dump_station()
3888 rdev, wdev->netdev, mac_addr, in nl80211_dump_station()
4598 struct wireless_dev *wdev; in nl80211_dump_mpath() local
4604 err = nl80211_prepare_wdev_dump(skb, cb, &rdev, &wdev); in nl80211_dump_mpath()
4613 if (wdev->iftype != NL80211_IFTYPE_MESH_POINT) { in nl80211_dump_mpath()
4619 err = rdev_dump_mpath(rdev, wdev->netdev, path_idx, dst, in nl80211_dump_mpath()
4628 wdev->netdev, dst, next_hop, in nl80211_dump_mpath()
4794 struct wireless_dev *wdev; in nl80211_dump_mpp() local
4800 err = nl80211_prepare_wdev_dump(skb, cb, &rdev, &wdev); in nl80211_dump_mpp()
4809 if (wdev->iftype != NL80211_IFTYPE_MESH_POINT) { in nl80211_dump_mpp()
4815 err = rdev_dump_mpp(rdev, wdev->netdev, path_idx, dst, in nl80211_dump_mpp()
4824 wdev->netdev, dst, mpp, in nl80211_dump_mpp()
4843 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_set_bss() local
4911 wdev_lock(wdev); in nl80211_set_bss()
4913 wdev_unlock(wdev); in nl80211_set_bss()
5019 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_get_mesh_config() local
5026 if (wdev->iftype != NL80211_IFTYPE_MESH_POINT) in nl80211_get_mesh_config()
5032 wdev_lock(wdev); in nl80211_get_mesh_config()
5034 if (!wdev->mesh_id_len) in nl80211_get_mesh_config()
5038 wdev_unlock(wdev); in nl80211_get_mesh_config()
5364 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_update_mesh_config() local
5369 if (wdev->iftype != NL80211_IFTYPE_MESH_POINT) in nl80211_update_mesh_config()
5379 wdev_lock(wdev); in nl80211_update_mesh_config()
5380 if (!wdev->mesh_id_len) in nl80211_update_mesh_config()
5386 wdev_unlock(wdev); in nl80211_update_mesh_config()
5741 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_trigger_scan() local
5923 if (wdev->current_bss) { in nl80211_trigger_scan()
5939 request->wdev = wdev; in nl80211_trigger_scan()
5947 nl80211_send_scan_start(rdev, wdev); in nl80211_trigger_scan()
5948 if (wdev->netdev) in nl80211_trigger_scan()
5949 dev_hold(wdev->netdev); in nl80211_trigger_scan()
5961 nl80211_parse_sched_scan(struct wiphy *wiphy, struct wireless_dev *wdev, in nl80211_parse_sched_scan() argument
6214 if (!wdev) /* must be net-detect */ in nl80211_parse_sched_scan()
6222 if (wdev && wdev->current_bss) { in nl80211_parse_sched_scan()
6253 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_start_sched_scan() local
6264 sched_scan_req = nl80211_parse_sched_scan(&rdev->wiphy, wdev, in nl80211_start_sched_scan()
6310 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_start_radar_detection() local
6316 dfs_region = reg_get_dfs_region(wdev->wiphy); in nl80211_start_radar_detection()
6327 if (wdev->cac_started) in nl80211_start_radar_detection()
6330 err = cfg80211_chandef_dfs_required(wdev->wiphy, &chandef, in nl80211_start_radar_detection()
6331 wdev->iftype); in nl80211_start_radar_detection()
6338 if (!cfg80211_chandef_dfs_usable(wdev->wiphy, &chandef)) in nl80211_start_radar_detection()
6351 wdev->chandef = chandef; in nl80211_start_radar_detection()
6352 wdev->cac_started = true; in nl80211_start_radar_detection()
6353 wdev->cac_start_time = jiffies; in nl80211_start_radar_detection()
6354 wdev->cac_time_ms = cac_time_ms; in nl80211_start_radar_detection()
6363 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_channel_switch() local
6384 if (!wdev->beacon_interval) in nl80211_channel_switch()
6388 if (!wdev->ssid_len) in nl80211_channel_switch()
6392 if (!wdev->mesh_id_len) in nl80211_channel_switch()
6495 wdev->iftype)) in nl80211_channel_switch()
6498 err = cfg80211_chandef_dfs_required(wdev->wiphy, in nl80211_channel_switch()
6500 wdev->iftype); in nl80211_channel_switch()
6510 wdev_lock(wdev); in nl80211_channel_switch()
6512 wdev_unlock(wdev); in nl80211_channel_switch()
6520 struct wireless_dev *wdev, in nl80211_send_bss() argument
6528 ASSERT_WDEV_LOCK(wdev); in nl80211_send_bss()
6539 if (wdev->netdev && in nl80211_send_bss()
6540 nla_put_u32(msg, NL80211_ATTR_IFINDEX, wdev->netdev->ifindex)) in nl80211_send_bss()
6542 if (nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev))) in nl80211_send_bss()
6604 switch (wdev->iftype) { in nl80211_send_bss()
6607 if (intbss == wdev->current_bss && in nl80211_send_bss()
6613 if (intbss == wdev->current_bss && in nl80211_send_bss()
6638 struct wireless_dev *wdev; in nl80211_dump_scan() local
6642 err = nl80211_prepare_wdev_dump(skb, cb, &rdev, &wdev); in nl80211_dump_scan()
6646 wdev_lock(wdev); in nl80211_dump_scan()
6657 rdev, wdev, scan) < 0) { in nl80211_dump_scan()
6664 wdev_unlock(wdev); in nl80211_dump_scan()
6746 struct wireless_dev *wdev; in nl80211_dump_survey() local
6751 res = nl80211_prepare_wdev_dump(skb, cb, &rdev, &wdev); in nl80211_dump_survey()
6758 if (!wdev->netdev) { in nl80211_dump_survey()
6769 res = rdev_dump_survey(rdev, wdev->netdev, survey_idx, &survey); in nl80211_dump_survey()
6785 wdev->netdev, radio_stats, &survey) < 0) in nl80211_dump_survey()
7413 struct wireless_dev *wdev, int approxlen, in __cfg80211_alloc_vendor_skb() argument
7445 if (wdev) { in __cfg80211_alloc_vendor_skb()
7447 wdev_id(wdev))) in __cfg80211_alloc_vendor_skb()
7449 if (wdev->netdev && in __cfg80211_alloc_vendor_skb()
7451 wdev->netdev->ifindex)) in __cfg80211_alloc_vendor_skb()
7469 struct wireless_dev *wdev, in __cfg80211_alloc_event_skb() argument
7495 return __cfg80211_alloc_vendor_skb(rdev, wdev, approxlen, 0, 0, in __cfg80211_alloc_event_skb()
7525 struct wireless_dev *wdev = in nl80211_testmode_do() local
7532 if (IS_ERR(wdev)) { in nl80211_testmode_do()
7533 err = PTR_ERR(wdev); in nl80211_testmode_do()
7536 wdev = NULL; in nl80211_testmode_do()
7537 } else if (wdev->wiphy != &rdev->wiphy) { in nl80211_testmode_do()
7545 err = rdev_testmode_cmd(rdev, wdev, in nl80211_testmode_do()
7963 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_remain_on_channel() local
8004 err = rdev_remain_on_channel(rdev, wdev, chandef.chan, in nl80211_remain_on_channel()
8028 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_cancel_remain_on_channel() local
8039 return rdev_cancel_remain_on_channel(rdev, wdev, cookie); in nl80211_cancel_remain_on_channel()
8279 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_register_mgmt() local
8288 switch (wdev->iftype) { in nl80211_register_mgmt()
8306 return cfg80211_mlme_register_mgmt(wdev, info->snd_portid, frame_type, in nl80211_register_mgmt()
8314 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_tx_mgmt() local
8331 switch (wdev->iftype) { in nl80211_tx_mgmt()
8417 err = cfg80211_mlme_mgmt_tx(rdev, wdev, ¶ms, &cookie); in nl80211_tx_mgmt()
8441 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_tx_mgmt_cancel_wait() local
8450 switch (wdev->iftype) { in nl80211_tx_mgmt_cancel_wait()
8465 return rdev_mgmt_tx_cancel_wait(rdev, wdev, cookie); in nl80211_tx_mgmt_cancel_wait()
8471 struct wireless_dev *wdev; in nl80211_set_power_save() local
8485 wdev = dev->ieee80211_ptr; in nl80211_set_power_save()
8492 if (state == wdev->ps) in nl80211_set_power_save()
8495 err = rdev_set_power_mgmt(rdev, dev, state, wdev->ps_timeout); in nl80211_set_power_save()
8497 wdev->ps = state; in nl80211_set_power_save()
8505 struct wireless_dev *wdev; in nl80211_get_power_save() local
8511 wdev = dev->ieee80211_ptr; in nl80211_get_power_save()
8527 if (wdev->ps) in nl80211_get_power_save()
8560 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_set_cqm_txe() local
8568 if (wdev->iftype != NL80211_IFTYPE_STATION && in nl80211_set_cqm_txe()
8569 wdev->iftype != NL80211_IFTYPE_P2P_CLIENT) in nl80211_set_cqm_txe()
8580 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_set_cqm_rssi() local
8592 if (wdev->iftype != NL80211_IFTYPE_STATION && in nl80211_set_cqm_rssi()
8593 wdev->iftype != NL80211_IFTYPE_P2P_CLIENT) in nl80211_set_cqm_rssi()
9589 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_set_rekey_data() local
9615 wdev_lock(wdev); in nl80211_set_rekey_data()
9616 if (!wdev->current_bss) { in nl80211_set_rekey_data()
9628 wdev_unlock(wdev); in nl80211_set_rekey_data()
9636 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_register_unexpected_frame() local
9638 if (wdev->iftype != NL80211_IFTYPE_AP && in nl80211_register_unexpected_frame()
9639 wdev->iftype != NL80211_IFTYPE_P2P_GO) in nl80211_register_unexpected_frame()
9642 if (wdev->ap_unexpected_nlportid) in nl80211_register_unexpected_frame()
9645 wdev->ap_unexpected_nlportid = info->snd_portid; in nl80211_register_unexpected_frame()
9654 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_probe_client() local
9661 if (wdev->iftype != NL80211_IFTYPE_AP && in nl80211_probe_client()
9662 wdev->iftype != NL80211_IFTYPE_P2P_GO) in nl80211_probe_client()
9739 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_start_p2p_device() local
9745 if (wdev->iftype != NL80211_IFTYPE_P2P_DEVICE) in nl80211_start_p2p_device()
9748 if (wdev->p2p_started) in nl80211_start_p2p_device()
9754 err = rdev_start_p2p_device(rdev, wdev); in nl80211_start_p2p_device()
9758 wdev->p2p_started = true; in nl80211_start_p2p_device()
9767 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_stop_p2p_device() local
9769 if (wdev->iftype != NL80211_IFTYPE_P2P_DEVICE) in nl80211_stop_p2p_device()
9775 cfg80211_stop_p2p_device(rdev, wdev); in nl80211_stop_p2p_device()
9832 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_crit_protocol_start() local
9863 ret = rdev_crit_proto_start(rdev, wdev, proto, duration); in nl80211_crit_protocol_start()
9874 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_crit_protocol_stop() local
9881 rdev_crit_proto_stop(rdev, wdev); in nl80211_crit_protocol_stop()
9889 struct wireless_dev *wdev = in nl80211_vendor_cmd() local
9897 if (IS_ERR(wdev)) { in nl80211_vendor_cmd()
9898 err = PTR_ERR(wdev); in nl80211_vendor_cmd()
9901 wdev = NULL; in nl80211_vendor_cmd()
9902 } else if (wdev->wiphy != &rdev->wiphy) { in nl80211_vendor_cmd()
9924 if (!wdev) in nl80211_vendor_cmd()
9927 !wdev->netdev) in nl80211_vendor_cmd()
9931 if (wdev->netdev && in nl80211_vendor_cmd()
9932 !netif_running(wdev->netdev)) in nl80211_vendor_cmd()
9934 if (!wdev->netdev && !wdev->p2p_started) in nl80211_vendor_cmd()
9938 wdev = NULL; in nl80211_vendor_cmd()
9947 err = rdev->wiphy.vendor_commands[i].doit(&rdev->wiphy, wdev, in nl80211_vendor_cmd()
10049 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_add_tx_ts() local
10088 wdev_lock(wdev); in nl80211_add_tx_ts()
10089 switch (wdev->iftype) { in nl80211_add_tx_ts()
10092 if (wdev->current_bss) in nl80211_add_tx_ts()
10104 wdev_unlock(wdev); in nl80211_add_tx_ts()
10112 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_del_tx_ts() local
10123 wdev_lock(wdev); in nl80211_del_tx_ts()
10125 wdev_unlock(wdev); in nl80211_del_tx_ts()
10135 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_tdls_channel_switch() local
10172 if (!cfg80211_reg_can_beacon(&rdev->wiphy, &chandef, wdev->iftype)) in nl80211_tdls_channel_switch()
10176 if (cfg80211_chandef_dfs_required(wdev->wiphy, &chandef, wdev->iftype)) in nl80211_tdls_channel_switch()
10182 wdev_lock(wdev); in nl80211_tdls_channel_switch()
10184 wdev_unlock(wdev); in nl80211_tdls_channel_switch()
10194 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_tdls_cancel_channel_switch() local
10215 wdev_lock(wdev); in nl80211_tdls_cancel_channel_switch()
10217 wdev_unlock(wdev); in nl80211_tdls_cancel_channel_switch()
10238 struct wireless_dev *wdev; in nl80211_pre_doit() local
10257 wdev = __cfg80211_wdev_from_attrs(genl_info_net(info), in nl80211_pre_doit()
10259 if (IS_ERR(wdev)) { in nl80211_pre_doit()
10262 return PTR_ERR(wdev); in nl80211_pre_doit()
10265 dev = wdev->netdev; in nl80211_pre_doit()
10266 rdev = wiphy_to_rdev(wdev->wiphy); in nl80211_pre_doit()
10277 info->user_ptr[1] = wdev; in nl80211_pre_doit()
10290 if (!wdev->p2p_started) { in nl80211_pre_doit()
10308 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_post_doit() local
10310 if (wdev->netdev) in nl80211_post_doit()
10311 dev_put(wdev->netdev); in nl80211_post_doit()
11106 struct wireless_dev *wdev, in nl80211_send_scan_msg() argument
11117 (wdev->netdev && nla_put_u32(msg, NL80211_ATTR_IFINDEX, in nl80211_send_scan_msg()
11118 wdev->netdev->ifindex)) || in nl80211_send_scan_msg()
11119 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev))) in nl80211_send_scan_msg()
11158 struct wireless_dev *wdev) in nl80211_send_scan_start() argument
11166 if (nl80211_send_scan_msg(msg, rdev, wdev, 0, 0, 0, in nl80211_send_scan_start()
11177 struct wireless_dev *wdev, bool aborted) in nl80211_build_scan_msg() argument
11185 if (nl80211_send_scan_msg(msg, rdev, wdev, 0, 0, 0, in nl80211_build_scan_msg()
11409 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_rx_unprot_mlme_mgmt() local
11410 struct wiphy *wiphy = wdev->wiphy; in cfg80211_rx_unprot_mlme_mgmt()
11632 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_notify_new_peer_candidate() local
11633 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_notify_new_peer_candidate()
11637 if (WARN_ON(wdev->iftype != NL80211_IFTYPE_MESH_POINT)) in cfg80211_notify_new_peer_candidate()
11766 struct wireless_dev *wdev, u64 cookie, in nl80211_send_remain_on_chan_event() argument
11784 (wdev->netdev && nla_put_u32(msg, NL80211_ATTR_IFINDEX, in nl80211_send_remain_on_chan_event()
11785 wdev->netdev->ifindex)) || in nl80211_send_remain_on_chan_event()
11786 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev)) || in nl80211_send_remain_on_chan_event()
11808 void cfg80211_ready_on_channel(struct wireless_dev *wdev, u64 cookie, in cfg80211_ready_on_channel() argument
11812 struct wiphy *wiphy = wdev->wiphy; in cfg80211_ready_on_channel()
11815 trace_cfg80211_ready_on_channel(wdev, cookie, chan, duration); in cfg80211_ready_on_channel()
11817 rdev, wdev, cookie, chan, in cfg80211_ready_on_channel()
11822 void cfg80211_remain_on_channel_expired(struct wireless_dev *wdev, u64 cookie, in cfg80211_remain_on_channel_expired() argument
11826 struct wiphy *wiphy = wdev->wiphy; in cfg80211_remain_on_channel_expired()
11829 trace_cfg80211_ready_on_channel_expired(wdev, cookie, chan); in cfg80211_remain_on_channel_expired()
11831 rdev, wdev, cookie, chan, 0, gfp); in cfg80211_remain_on_channel_expired()
11926 struct wireless_dev *wdev = dev->ieee80211_ptr; in __nl80211_unexpected_frame() local
11927 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in __nl80211_unexpected_frame()
11930 u32 nlportid = ACCESS_ONCE(wdev->ap_unexpected_nlportid); in __nl80211_unexpected_frame()
11963 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_rx_spurious_frame() local
11968 if (WARN_ON(wdev->iftype != NL80211_IFTYPE_AP && in cfg80211_rx_spurious_frame()
11969 wdev->iftype != NL80211_IFTYPE_P2P_GO)) { in cfg80211_rx_spurious_frame()
11983 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_rx_unexpected_4addr_frame() local
11988 if (WARN_ON(wdev->iftype != NL80211_IFTYPE_AP && in cfg80211_rx_unexpected_4addr_frame()
11989 wdev->iftype != NL80211_IFTYPE_P2P_GO && in cfg80211_rx_unexpected_4addr_frame()
11990 wdev->iftype != NL80211_IFTYPE_AP_VLAN)) { in cfg80211_rx_unexpected_4addr_frame()
12003 struct wireless_dev *wdev, u32 nlportid, in nl80211_send_mgmt() argument
12007 struct net_device *netdev = wdev->netdev; in nl80211_send_mgmt()
12024 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev)) || in nl80211_send_mgmt()
12043 void cfg80211_mgmt_tx_status(struct wireless_dev *wdev, u64 cookie, in cfg80211_mgmt_tx_status() argument
12046 struct wiphy *wiphy = wdev->wiphy; in cfg80211_mgmt_tx_status()
12048 struct net_device *netdev = wdev->netdev; in cfg80211_mgmt_tx_status()
12052 trace_cfg80211_mgmt_tx_status(wdev, cookie, ack); in cfg80211_mgmt_tx_status()
12067 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev)) || in cfg80211_mgmt_tx_status()
12088 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_prepare_cqm() local
12089 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_prepare_cqm()
12281 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_gtk_rekey_notify() local
12282 struct wiphy *wiphy = wdev->wiphy; in cfg80211_gtk_rekey_notify()
12339 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_pmksa_candidate_notify() local
12340 struct wiphy *wiphy = wdev->wiphy; in cfg80211_pmksa_candidate_notify()
12392 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_ch_switch_notify() local
12393 struct wiphy *wiphy = wdev->wiphy; in cfg80211_ch_switch_notify()
12396 ASSERT_WDEV_LOCK(wdev); in cfg80211_ch_switch_notify()
12400 wdev->chandef = *chandef; in cfg80211_ch_switch_notify()
12401 wdev->preset_chandef = *chandef; in cfg80211_ch_switch_notify()
12411 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_ch_switch_started_notify() local
12412 struct wiphy *wiphy = wdev->wiphy; in cfg80211_ch_switch_started_notify()
12446 struct wireless_dev *wdev = netdev->ieee80211_ptr; in nl80211_radar_notify() local
12449 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev))) in nl80211_radar_notify()
12473 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_probe_status() local
12474 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_probe_status()
12616 void cfg80211_report_wowlan_wakeup(struct wireless_dev *wdev, in cfg80211_report_wowlan_wakeup() argument
12620 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_report_wowlan_wakeup()
12625 trace_cfg80211_report_wowlan_wakeup(wdev->wiphy, wdev, wakeup); in cfg80211_report_wowlan_wakeup()
12639 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev))) in cfg80211_report_wowlan_wakeup()
12642 if (wdev->netdev && nla_put_u32(msg, NL80211_ATTR_IFINDEX, in cfg80211_report_wowlan_wakeup()
12643 wdev->netdev->ifindex)) in cfg80211_report_wowlan_wakeup()
12733 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_tdls_oper_request() local
12734 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_tdls_oper_request()
12738 trace_cfg80211_tdls_oper_request(wdev->wiphy, dev, peer, oper, in cfg80211_tdls_oper_request()
12777 struct wireless_dev *wdev; in nl80211_netlink_notify() local
12795 list_for_each_entry_rcu(wdev, &rdev->wdev_list, list) { in nl80211_netlink_notify()
12796 cfg80211_mlme_unregister_socket(wdev, notify->portid); in nl80211_netlink_notify()
12798 if (wdev->owner_nlportid == notify->portid) in nl80211_netlink_notify()
12891 void cfg80211_crit_proto_stopped(struct wireless_dev *wdev, gfp_t gfp) in cfg80211_crit_proto_stopped() argument
12898 rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_crit_proto_stopped()
12914 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev))) in cfg80211_crit_proto_stopped()
12930 void nl80211_send_ap_stopped(struct wireless_dev *wdev) in nl80211_send_ap_stopped() argument
12932 struct wiphy *wiphy = wdev->wiphy; in nl80211_send_ap_stopped()
12946 nla_put_u32(msg, NL80211_ATTR_IFINDEX, wdev->netdev->ifindex) || in nl80211_send_ap_stopped()
12947 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev))) in nl80211_send_ap_stopped()