Lines Matching refs:wdev

98 		struct wireless_dev *wdev;  in __cfg80211_wdev_from_attrs()  local
106 list_for_each_entry(wdev, &rdev->wdev_list, list) { in __cfg80211_wdev_from_attrs()
107 if (have_ifidx && wdev->netdev && in __cfg80211_wdev_from_attrs()
108 wdev->netdev->ifindex == ifidx) { in __cfg80211_wdev_from_attrs()
109 result = wdev; in __cfg80211_wdev_from_attrs()
112 if (have_wdev_id && wdev->identifier == (u32)wdev_id) { in __cfg80211_wdev_from_attrs()
113 result = wdev; in __cfg80211_wdev_from_attrs()
146 struct wireless_dev *wdev; in __cfg80211_rdev_from_attrs() local
152 list_for_each_entry(wdev, &tmp->wdev_list, list) { in __cfg80211_rdev_from_attrs()
153 if (wdev->identifier != (u32)wdev_id) in __cfg80211_rdev_from_attrs()
491 struct wireless_dev **wdev) in nl80211_prepare_wdev_dump() argument
504 *wdev = __cfg80211_wdev_from_attrs(sock_net(skb->sk), in nl80211_prepare_wdev_dump()
506 if (IS_ERR(*wdev)) { in nl80211_prepare_wdev_dump()
507 err = PTR_ERR(*wdev); in nl80211_prepare_wdev_dump()
510 *rdev = wiphy_to_rdev((*wdev)->wiphy); in nl80211_prepare_wdev_dump()
513 cb->args[1] = (*wdev)->identifier; in nl80211_prepare_wdev_dump()
524 *wdev = NULL; in nl80211_prepare_wdev_dump()
528 *wdev = tmp; in nl80211_prepare_wdev_dump()
533 if (!*wdev) { in nl80211_prepare_wdev_dump()
884 static int nl80211_key_allowed(struct wireless_dev *wdev) in nl80211_key_allowed() argument
886 ASSERT_WDEV_LOCK(wdev); in nl80211_key_allowed()
888 switch (wdev->iftype) { in nl80211_key_allowed()
897 if (!wdev->current_bss) in nl80211_key_allowed()
1907 static bool nl80211_can_set_dev_channel(struct wireless_dev *wdev) in nl80211_can_set_dev_channel() argument
1924 return !wdev || in nl80211_can_set_dev_channel()
1925 wdev->iftype == NL80211_IFTYPE_AP || in nl80211_can_set_dev_channel()
1926 wdev->iftype == NL80211_IFTYPE_MESH_POINT || in nl80211_can_set_dev_channel()
1927 wdev->iftype == NL80211_IFTYPE_MONITOR || in nl80211_can_set_dev_channel()
1928 wdev->iftype == NL80211_IFTYPE_P2P_GO; in nl80211_can_set_dev_channel()
2003 struct wireless_dev *wdev = NULL; in __nl80211_set_channel() local
2006 wdev = dev->ieee80211_ptr; in __nl80211_set_channel()
2007 if (!nl80211_can_set_dev_channel(wdev)) in __nl80211_set_channel()
2009 if (wdev) in __nl80211_set_channel()
2010 iftype = wdev->iftype; in __nl80211_set_channel()
2024 if (wdev->beacon_interval) { in __nl80211_set_channel()
2033 if (chandef.chan != wdev->preset_chandef.chan) { in __nl80211_set_channel()
2041 wdev->preset_chandef = chandef; in __nl80211_set_channel()
2045 result = cfg80211_set_mesh_channel(rdev, wdev, &chandef); in __nl80211_set_channel()
2069 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_set_wds_peer() local
2081 if (wdev->iftype != NL80211_IFTYPE_WDS) in nl80211_set_wds_peer()
2093 struct wireless_dev *wdev; in nl80211_set_wiphy() local
2128 wdev = NULL; in nl80211_set_wiphy()
2132 wdev = netdev->ieee80211_ptr; in nl80211_set_wiphy()
2186 nl80211_can_set_dev_channel(wdev) ? netdev : NULL, in nl80211_set_wiphy()
2193 struct wireless_dev *txp_wdev = wdev; in nl80211_set_wiphy()
2343 static inline u64 wdev_id(struct wireless_dev *wdev) in wdev_id() argument
2345 return (u64)wdev->identifier | in wdev_id()
2346 ((u64)wiphy_to_rdev(wdev->wiphy)->wiphy_idx << 32); in wdev_id()
2381 struct wireless_dev *wdev, bool removal) in nl80211_send_iface() argument
2383 struct net_device *dev = wdev->netdev; in nl80211_send_iface()
2400 nla_put_u32(msg, NL80211_ATTR_IFTYPE, wdev->iftype) || in nl80211_send_iface()
2401 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev)) || in nl80211_send_iface()
2402 nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN, wdev_address(wdev)) || in nl80211_send_iface()
2412 ret = rdev_get_channel(rdev, wdev, &chandef); in nl80211_send_iface()
2422 ret = rdev_get_tx_power(rdev, wdev, &dbm); in nl80211_send_iface()
2429 if (wdev->ssid_len) { in nl80211_send_iface()
2430 if (nla_put(msg, NL80211_ATTR_SSID, wdev->ssid_len, wdev->ssid)) in nl80211_send_iface()
2449 struct wireless_dev *wdev; in nl80211_dump_interface() local
2461 list_for_each_entry(wdev, &rdev->wdev_list, list) { in nl80211_dump_interface()
2468 rdev, wdev, false) < 0) { in nl80211_dump_interface()
2489 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_get_interface() local
2496 rdev, wdev, false) < 0) { in nl80211_get_interface()
2583 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_set_interface() local
2590 wdev_lock(wdev); in nl80211_set_interface()
2593 wdev->mesh_id_up_len = in nl80211_set_interface()
2595 memcpy(wdev->ssid, nla_data(info->attrs[NL80211_ATTR_MESH_ID]), in nl80211_set_interface()
2596 wdev->mesh_id_up_len); in nl80211_set_interface()
2597 wdev_unlock(wdev); in nl80211_set_interface()
2641 struct wireless_dev *wdev; in nl80211_new_interface() local
2693 wdev = rdev_add_virtual_intf(rdev, in nl80211_new_interface()
2697 if (WARN_ON(!wdev)) { in nl80211_new_interface()
2700 } else if (IS_ERR(wdev)) { in nl80211_new_interface()
2702 return PTR_ERR(wdev); in nl80211_new_interface()
2706 wdev->owner_nlportid = info->snd_portid; in nl80211_new_interface()
2712 wdev_lock(wdev); in nl80211_new_interface()
2715 wdev->mesh_id_up_len = in nl80211_new_interface()
2717 memcpy(wdev->ssid, nla_data(info->attrs[NL80211_ATTR_MESH_ID]), in nl80211_new_interface()
2718 wdev->mesh_id_up_len); in nl80211_new_interface()
2719 wdev_unlock(wdev); in nl80211_new_interface()
2726 mutex_init(&wdev->mtx); in nl80211_new_interface()
2727 INIT_LIST_HEAD(&wdev->event_list); in nl80211_new_interface()
2728 spin_lock_init(&wdev->event_lock); in nl80211_new_interface()
2729 INIT_LIST_HEAD(&wdev->mgmt_registrations); in nl80211_new_interface()
2730 spin_lock_init(&wdev->mgmt_registrations_lock); in nl80211_new_interface()
2732 wdev->identifier = ++rdev->wdev_id; in nl80211_new_interface()
2733 list_add_rcu(&wdev->list, &rdev->wdev_list); in nl80211_new_interface()
2741 rdev, wdev, false) < 0) { in nl80211_new_interface()
2749 rdev, wdev, false) < 0) { in nl80211_new_interface()
2766 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_del_interface() local
2774 if (msg && nl80211_send_iface(msg, 0, 0, 0, rdev, wdev, true) < 0) { in nl80211_del_interface()
2786 if (!wdev->netdev) in nl80211_del_interface()
2789 status = rdev_del_virtual_intf(rdev, wdev); in nl80211_del_interface()
3266 struct wireless_dev *wdev; in nl80211_get_ap_channel() local
3269 list_for_each_entry(wdev, &rdev->wdev_list, list) { in nl80211_get_ap_channel()
3270 if (wdev->iftype != NL80211_IFTYPE_AP && in nl80211_get_ap_channel()
3271 wdev->iftype != NL80211_IFTYPE_P2P_GO) in nl80211_get_ap_channel()
3274 if (!wdev->preset_chandef.chan) in nl80211_get_ap_channel()
3277 params->chandef = wdev->preset_chandef; in nl80211_get_ap_channel()
3313 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_start_ap() local
3324 if (wdev->beacon_interval) in nl80211_start_ap()
3426 } else if (wdev->preset_chandef.chan) { in nl80211_start_ap()
3427 params.chandef = wdev->preset_chandef; in nl80211_start_ap()
3432 wdev->iftype)) in nl80211_start_ap()
3464 wdev_lock(wdev); in nl80211_start_ap()
3467 wdev->preset_chandef = params.chandef; in nl80211_start_ap()
3468 wdev->beacon_interval = params.beacon_interval; in nl80211_start_ap()
3469 wdev->chandef = params.chandef; in nl80211_start_ap()
3470 wdev->ssid_len = params.ssid_len; in nl80211_start_ap()
3471 memcpy(wdev->ssid, params.ssid, wdev->ssid_len); in nl80211_start_ap()
3473 wdev_unlock(wdev); in nl80211_start_ap()
3484 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_set_beacon() local
3495 if (!wdev->beacon_interval) in nl80211_set_beacon()
3502 wdev_lock(wdev); in nl80211_set_beacon()
3504 wdev_unlock(wdev); in nl80211_set_beacon()
3882 struct wireless_dev *wdev; in nl80211_dump_station() local
3887 err = nl80211_prepare_wdev_dump(skb, cb, &rdev, &wdev); in nl80211_dump_station()
3891 if (!wdev->netdev) { in nl80211_dump_station()
3903 err = rdev_dump_station(rdev, wdev->netdev, sta_idx, in nl80211_dump_station()
3913 rdev, wdev->netdev, mac_addr, in nl80211_dump_station()
4636 struct wireless_dev *wdev; in nl80211_dump_mpath() local
4642 err = nl80211_prepare_wdev_dump(skb, cb, &rdev, &wdev); in nl80211_dump_mpath()
4651 if (wdev->iftype != NL80211_IFTYPE_MESH_POINT) { in nl80211_dump_mpath()
4657 err = rdev_dump_mpath(rdev, wdev->netdev, path_idx, dst, in nl80211_dump_mpath()
4666 wdev->netdev, dst, next_hop, in nl80211_dump_mpath()
4832 struct wireless_dev *wdev; in nl80211_dump_mpp() local
4838 err = nl80211_prepare_wdev_dump(skb, cb, &rdev, &wdev); in nl80211_dump_mpp()
4847 if (wdev->iftype != NL80211_IFTYPE_MESH_POINT) { in nl80211_dump_mpp()
4853 err = rdev_dump_mpp(rdev, wdev->netdev, path_idx, dst, in nl80211_dump_mpp()
4862 wdev->netdev, dst, mpp, in nl80211_dump_mpp()
4881 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_set_bss() local
4949 wdev_lock(wdev); in nl80211_set_bss()
4951 wdev_unlock(wdev); in nl80211_set_bss()
5007 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_get_mesh_config() local
5014 if (wdev->iftype != NL80211_IFTYPE_MESH_POINT) in nl80211_get_mesh_config()
5020 wdev_lock(wdev); in nl80211_get_mesh_config()
5022 if (!wdev->mesh_id_len) in nl80211_get_mesh_config()
5026 wdev_unlock(wdev); in nl80211_get_mesh_config()
5352 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_update_mesh_config() local
5357 if (wdev->iftype != NL80211_IFTYPE_MESH_POINT) in nl80211_update_mesh_config()
5367 wdev_lock(wdev); in nl80211_update_mesh_config()
5368 if (!wdev->mesh_id_len) in nl80211_update_mesh_config()
5374 wdev_unlock(wdev); in nl80211_update_mesh_config()
5781 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_trigger_scan() local
5963 if (wdev->current_bss) { in nl80211_trigger_scan()
5979 request->wdev = wdev; in nl80211_trigger_scan()
5987 nl80211_send_scan_start(rdev, wdev); in nl80211_trigger_scan()
5988 if (wdev->netdev) in nl80211_trigger_scan()
5989 dev_hold(wdev->netdev); in nl80211_trigger_scan()
6088 nl80211_parse_sched_scan(struct wiphy *wiphy, struct wireless_dev *wdev, in nl80211_parse_sched_scan() argument
6373 if (!wdev) /* must be net-detect */ in nl80211_parse_sched_scan()
6381 if (wdev && wdev->current_bss) { in nl80211_parse_sched_scan()
6415 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_start_sched_scan() local
6426 sched_scan_req = nl80211_parse_sched_scan(&rdev->wiphy, wdev, in nl80211_start_sched_scan()
6472 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_start_radar_detection() local
6478 dfs_region = reg_get_dfs_region(wdev->wiphy); in nl80211_start_radar_detection()
6489 if (wdev->cac_started) in nl80211_start_radar_detection()
6492 err = cfg80211_chandef_dfs_required(wdev->wiphy, &chandef, in nl80211_start_radar_detection()
6493 wdev->iftype); in nl80211_start_radar_detection()
6500 if (!cfg80211_chandef_dfs_usable(wdev->wiphy, &chandef)) in nl80211_start_radar_detection()
6513 wdev->chandef = chandef; in nl80211_start_radar_detection()
6514 wdev->cac_started = true; in nl80211_start_radar_detection()
6515 wdev->cac_start_time = jiffies; in nl80211_start_radar_detection()
6516 wdev->cac_time_ms = cac_time_ms; in nl80211_start_radar_detection()
6525 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_channel_switch() local
6546 if (!wdev->beacon_interval) in nl80211_channel_switch()
6550 if (!wdev->ssid_len) in nl80211_channel_switch()
6554 if (!wdev->mesh_id_len) in nl80211_channel_switch()
6657 wdev->iftype)) in nl80211_channel_switch()
6660 err = cfg80211_chandef_dfs_required(wdev->wiphy, in nl80211_channel_switch()
6662 wdev->iftype); in nl80211_channel_switch()
6672 wdev_lock(wdev); in nl80211_channel_switch()
6674 wdev_unlock(wdev); in nl80211_channel_switch()
6682 struct wireless_dev *wdev, in nl80211_send_bss() argument
6690 ASSERT_WDEV_LOCK(wdev); in nl80211_send_bss()
6701 if (wdev->netdev && in nl80211_send_bss()
6702 nla_put_u32(msg, NL80211_ATTR_IFINDEX, wdev->netdev->ifindex)) in nl80211_send_bss()
6704 if (nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev))) in nl80211_send_bss()
6771 switch (wdev->iftype) { in nl80211_send_bss()
6774 if (intbss == wdev->current_bss && in nl80211_send_bss()
6780 if (intbss == wdev->current_bss && in nl80211_send_bss()
6805 struct wireless_dev *wdev; in nl80211_dump_scan() local
6809 err = nl80211_prepare_wdev_dump(skb, cb, &rdev, &wdev); in nl80211_dump_scan()
6813 wdev_lock(wdev); in nl80211_dump_scan()
6824 rdev, wdev, scan) < 0) { in nl80211_dump_scan()
6831 wdev_unlock(wdev); in nl80211_dump_scan()
6913 struct wireless_dev *wdev; in nl80211_dump_survey() local
6918 res = nl80211_prepare_wdev_dump(skb, cb, &rdev, &wdev); in nl80211_dump_survey()
6925 if (!wdev->netdev) { in nl80211_dump_survey()
6936 res = rdev_dump_survey(rdev, wdev->netdev, survey_idx, &survey); in nl80211_dump_survey()
6952 wdev->netdev, radio_stats, &survey) < 0) in nl80211_dump_survey()
7581 struct wireless_dev *wdev, int approxlen, in __cfg80211_alloc_vendor_skb() argument
7613 if (wdev) { in __cfg80211_alloc_vendor_skb()
7615 wdev_id(wdev))) in __cfg80211_alloc_vendor_skb()
7617 if (wdev->netdev && in __cfg80211_alloc_vendor_skb()
7619 wdev->netdev->ifindex)) in __cfg80211_alloc_vendor_skb()
7637 struct wireless_dev *wdev, in __cfg80211_alloc_event_skb() argument
7663 return __cfg80211_alloc_vendor_skb(rdev, wdev, approxlen, 0, 0, in __cfg80211_alloc_event_skb()
7693 struct wireless_dev *wdev = in nl80211_testmode_do() local
7700 if (IS_ERR(wdev)) { in nl80211_testmode_do()
7701 err = PTR_ERR(wdev); in nl80211_testmode_do()
7704 wdev = NULL; in nl80211_testmode_do()
7705 } else if (wdev->wiphy != &rdev->wiphy) { in nl80211_testmode_do()
7713 err = rdev_testmode_cmd(rdev, wdev, in nl80211_testmode_do()
8133 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_remain_on_channel() local
8174 err = rdev_remain_on_channel(rdev, wdev, chandef.chan, in nl80211_remain_on_channel()
8198 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_cancel_remain_on_channel() local
8209 return rdev_cancel_remain_on_channel(rdev, wdev, cookie); in nl80211_cancel_remain_on_channel()
8449 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_register_mgmt() local
8458 switch (wdev->iftype) { in nl80211_register_mgmt()
8476 return cfg80211_mlme_register_mgmt(wdev, info->snd_portid, frame_type, in nl80211_register_mgmt()
8484 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_tx_mgmt() local
8501 switch (wdev->iftype) { in nl80211_tx_mgmt()
8587 err = cfg80211_mlme_mgmt_tx(rdev, wdev, &params, &cookie); in nl80211_tx_mgmt()
8611 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_tx_mgmt_cancel_wait() local
8620 switch (wdev->iftype) { in nl80211_tx_mgmt_cancel_wait()
8635 return rdev_mgmt_tx_cancel_wait(rdev, wdev, cookie); in nl80211_tx_mgmt_cancel_wait()
8641 struct wireless_dev *wdev; in nl80211_set_power_save() local
8655 wdev = dev->ieee80211_ptr; in nl80211_set_power_save()
8662 if (state == wdev->ps) in nl80211_set_power_save()
8665 err = rdev_set_power_mgmt(rdev, dev, state, wdev->ps_timeout); in nl80211_set_power_save()
8667 wdev->ps = state; in nl80211_set_power_save()
8675 struct wireless_dev *wdev; in nl80211_get_power_save() local
8681 wdev = dev->ieee80211_ptr; in nl80211_get_power_save()
8697 if (wdev->ps) in nl80211_get_power_save()
8730 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_set_cqm_txe() local
8738 if (wdev->iftype != NL80211_IFTYPE_STATION && in nl80211_set_cqm_txe()
8739 wdev->iftype != NL80211_IFTYPE_P2P_CLIENT) in nl80211_set_cqm_txe()
8750 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_set_cqm_rssi() local
8762 if (wdev->iftype != NL80211_IFTYPE_STATION && in nl80211_set_cqm_rssi()
8763 wdev->iftype != NL80211_IFTYPE_P2P_CLIENT) in nl80211_set_cqm_rssi()
9779 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_set_rekey_data() local
9805 wdev_lock(wdev); in nl80211_set_rekey_data()
9806 if (!wdev->current_bss) { in nl80211_set_rekey_data()
9818 wdev_unlock(wdev); in nl80211_set_rekey_data()
9826 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_register_unexpected_frame() local
9828 if (wdev->iftype != NL80211_IFTYPE_AP && in nl80211_register_unexpected_frame()
9829 wdev->iftype != NL80211_IFTYPE_P2P_GO) in nl80211_register_unexpected_frame()
9832 if (wdev->ap_unexpected_nlportid) in nl80211_register_unexpected_frame()
9835 wdev->ap_unexpected_nlportid = info->snd_portid; in nl80211_register_unexpected_frame()
9844 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_probe_client() local
9851 if (wdev->iftype != NL80211_IFTYPE_AP && in nl80211_probe_client()
9852 wdev->iftype != NL80211_IFTYPE_P2P_GO) in nl80211_probe_client()
9929 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_start_p2p_device() local
9935 if (wdev->iftype != NL80211_IFTYPE_P2P_DEVICE) in nl80211_start_p2p_device()
9938 if (wdev->p2p_started) in nl80211_start_p2p_device()
9944 err = rdev_start_p2p_device(rdev, wdev); in nl80211_start_p2p_device()
9948 wdev->p2p_started = true; in nl80211_start_p2p_device()
9957 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_stop_p2p_device() local
9959 if (wdev->iftype != NL80211_IFTYPE_P2P_DEVICE) in nl80211_stop_p2p_device()
9965 cfg80211_stop_p2p_device(rdev, wdev); in nl80211_stop_p2p_device()
10022 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_crit_protocol_start() local
10053 ret = rdev_crit_proto_start(rdev, wdev, proto, duration); in nl80211_crit_protocol_start()
10064 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_crit_protocol_stop() local
10071 rdev_crit_proto_stop(rdev, wdev); in nl80211_crit_protocol_stop()
10079 struct wireless_dev *wdev = in nl80211_vendor_cmd() local
10087 if (IS_ERR(wdev)) { in nl80211_vendor_cmd()
10088 err = PTR_ERR(wdev); in nl80211_vendor_cmd()
10091 wdev = NULL; in nl80211_vendor_cmd()
10092 } else if (wdev->wiphy != &rdev->wiphy) { in nl80211_vendor_cmd()
10114 if (!wdev) in nl80211_vendor_cmd()
10117 !wdev->netdev) in nl80211_vendor_cmd()
10121 if (wdev->netdev && in nl80211_vendor_cmd()
10122 !netif_running(wdev->netdev)) in nl80211_vendor_cmd()
10124 if (!wdev->netdev && !wdev->p2p_started) in nl80211_vendor_cmd()
10131 wdev = NULL; in nl80211_vendor_cmd()
10140 err = rdev->wiphy.vendor_commands[i].doit(&rdev->wiphy, wdev, in nl80211_vendor_cmd()
10152 struct wireless_dev **wdev) in nl80211_prepare_vendor_dump() argument
10173 *wdev = NULL; in nl80211_prepare_vendor_dump()
10178 *wdev = tmp; in nl80211_prepare_vendor_dump()
10200 *wdev = __cfg80211_wdev_from_attrs(sock_net(skb->sk), in nl80211_prepare_vendor_dump()
10202 if (IS_ERR(*wdev)) in nl80211_prepare_vendor_dump()
10203 *wdev = NULL; in nl80211_prepare_vendor_dump()
10245 cb->args[1] = *wdev ? (*wdev)->identifier + 1 : 0; in nl80211_prepare_vendor_dump()
10261 struct wireless_dev *wdev; in nl80211_vendor_cmd_dump() local
10269 err = nl80211_prepare_vendor_dump(skb, cb, &rdev, &wdev); in nl80211_vendor_cmd_dump()
10280 if (!wdev) in nl80211_vendor_cmd_dump()
10283 !wdev->netdev) in nl80211_vendor_cmd_dump()
10287 if (wdev->netdev && in nl80211_vendor_cmd_dump()
10288 !netif_running(wdev->netdev)) in nl80211_vendor_cmd_dump()
10290 if (!wdev->netdev && !wdev->p2p_started) in nl80211_vendor_cmd_dump()
10303 (wdev && nla_put_u64(skb, NL80211_ATTR_WDEV, in nl80211_vendor_cmd_dump()
10304 wdev_id(wdev)))) { in nl80211_vendor_cmd_dump()
10315 err = vcmd->dumpit(&rdev->wiphy, wdev, skb, data, data_len, in nl80211_vendor_cmd_dump()
10429 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_add_tx_ts() local
10468 wdev_lock(wdev); in nl80211_add_tx_ts()
10469 switch (wdev->iftype) { in nl80211_add_tx_ts()
10472 if (wdev->current_bss) in nl80211_add_tx_ts()
10484 wdev_unlock(wdev); in nl80211_add_tx_ts()
10492 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_del_tx_ts() local
10503 wdev_lock(wdev); in nl80211_del_tx_ts()
10505 wdev_unlock(wdev); in nl80211_del_tx_ts()
10515 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_tdls_channel_switch() local
10553 wdev->iftype)) in nl80211_tdls_channel_switch()
10557 if (cfg80211_chandef_dfs_required(wdev->wiphy, &chandef, wdev->iftype)) in nl80211_tdls_channel_switch()
10563 wdev_lock(wdev); in nl80211_tdls_channel_switch()
10565 wdev_unlock(wdev); in nl80211_tdls_channel_switch()
10575 struct wireless_dev *wdev = dev->ieee80211_ptr; in nl80211_tdls_cancel_channel_switch() local
10596 wdev_lock(wdev); in nl80211_tdls_cancel_channel_switch()
10598 wdev_unlock(wdev); in nl80211_tdls_cancel_channel_switch()
10619 struct wireless_dev *wdev; in nl80211_pre_doit() local
10638 wdev = __cfg80211_wdev_from_attrs(genl_info_net(info), in nl80211_pre_doit()
10640 if (IS_ERR(wdev)) { in nl80211_pre_doit()
10643 return PTR_ERR(wdev); in nl80211_pre_doit()
10646 dev = wdev->netdev; in nl80211_pre_doit()
10647 rdev = wiphy_to_rdev(wdev->wiphy); in nl80211_pre_doit()
10658 info->user_ptr[1] = wdev; in nl80211_pre_doit()
10671 if (!wdev->p2p_started) { in nl80211_pre_doit()
10689 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_post_doit() local
10691 if (wdev->netdev) in nl80211_post_doit()
10692 dev_put(wdev->netdev); in nl80211_post_doit()
11490 struct wireless_dev *wdev, in nl80211_send_scan_msg() argument
11501 (wdev->netdev && nla_put_u32(msg, NL80211_ATTR_IFINDEX, in nl80211_send_scan_msg()
11502 wdev->netdev->ifindex)) || in nl80211_send_scan_msg()
11503 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev))) in nl80211_send_scan_msg()
11542 struct wireless_dev *wdev) in nl80211_send_scan_start() argument
11550 if (nl80211_send_scan_msg(msg, rdev, wdev, 0, 0, 0, in nl80211_send_scan_start()
11561 struct wireless_dev *wdev, bool aborted) in nl80211_build_scan_msg() argument
11569 if (nl80211_send_scan_msg(msg, rdev, wdev, 0, 0, 0, in nl80211_build_scan_msg()
11793 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_rx_unprot_mlme_mgmt() local
11794 struct wiphy *wiphy = wdev->wiphy; in cfg80211_rx_unprot_mlme_mgmt()
12016 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_notify_new_peer_candidate() local
12017 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_notify_new_peer_candidate()
12021 if (WARN_ON(wdev->iftype != NL80211_IFTYPE_MESH_POINT)) in cfg80211_notify_new_peer_candidate()
12150 struct wireless_dev *wdev, u64 cookie, in nl80211_send_remain_on_chan_event() argument
12168 (wdev->netdev && nla_put_u32(msg, NL80211_ATTR_IFINDEX, in nl80211_send_remain_on_chan_event()
12169 wdev->netdev->ifindex)) || in nl80211_send_remain_on_chan_event()
12170 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev)) || in nl80211_send_remain_on_chan_event()
12192 void cfg80211_ready_on_channel(struct wireless_dev *wdev, u64 cookie, in cfg80211_ready_on_channel() argument
12196 struct wiphy *wiphy = wdev->wiphy; in cfg80211_ready_on_channel()
12199 trace_cfg80211_ready_on_channel(wdev, cookie, chan, duration); in cfg80211_ready_on_channel()
12201 rdev, wdev, cookie, chan, in cfg80211_ready_on_channel()
12206 void cfg80211_remain_on_channel_expired(struct wireless_dev *wdev, u64 cookie, in cfg80211_remain_on_channel_expired() argument
12210 struct wiphy *wiphy = wdev->wiphy; in cfg80211_remain_on_channel_expired()
12213 trace_cfg80211_ready_on_channel_expired(wdev, cookie, chan); in cfg80211_remain_on_channel_expired()
12215 rdev, wdev, cookie, chan, 0, gfp); in cfg80211_remain_on_channel_expired()
12310 struct wireless_dev *wdev = dev->ieee80211_ptr; in __nl80211_unexpected_frame() local
12311 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in __nl80211_unexpected_frame()
12314 u32 nlportid = ACCESS_ONCE(wdev->ap_unexpected_nlportid); in __nl80211_unexpected_frame()
12347 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_rx_spurious_frame() local
12352 if (WARN_ON(wdev->iftype != NL80211_IFTYPE_AP && in cfg80211_rx_spurious_frame()
12353 wdev->iftype != NL80211_IFTYPE_P2P_GO)) { in cfg80211_rx_spurious_frame()
12367 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_rx_unexpected_4addr_frame() local
12372 if (WARN_ON(wdev->iftype != NL80211_IFTYPE_AP && in cfg80211_rx_unexpected_4addr_frame()
12373 wdev->iftype != NL80211_IFTYPE_P2P_GO && in cfg80211_rx_unexpected_4addr_frame()
12374 wdev->iftype != NL80211_IFTYPE_AP_VLAN)) { in cfg80211_rx_unexpected_4addr_frame()
12387 struct wireless_dev *wdev, u32 nlportid, in nl80211_send_mgmt() argument
12391 struct net_device *netdev = wdev->netdev; in nl80211_send_mgmt()
12408 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev)) || in nl80211_send_mgmt()
12427 void cfg80211_mgmt_tx_status(struct wireless_dev *wdev, u64 cookie, in cfg80211_mgmt_tx_status() argument
12430 struct wiphy *wiphy = wdev->wiphy; in cfg80211_mgmt_tx_status()
12432 struct net_device *netdev = wdev->netdev; in cfg80211_mgmt_tx_status()
12436 trace_cfg80211_mgmt_tx_status(wdev, cookie, ack); in cfg80211_mgmt_tx_status()
12451 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev)) || in cfg80211_mgmt_tx_status()
12472 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_prepare_cqm() local
12473 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_prepare_cqm()
12665 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_gtk_rekey_notify() local
12666 struct wiphy *wiphy = wdev->wiphy; in cfg80211_gtk_rekey_notify()
12723 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_pmksa_candidate_notify() local
12724 struct wiphy *wiphy = wdev->wiphy; in cfg80211_pmksa_candidate_notify()
12776 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_ch_switch_notify() local
12777 struct wiphy *wiphy = wdev->wiphy; in cfg80211_ch_switch_notify()
12780 ASSERT_WDEV_LOCK(wdev); in cfg80211_ch_switch_notify()
12784 wdev->chandef = *chandef; in cfg80211_ch_switch_notify()
12785 wdev->preset_chandef = *chandef; in cfg80211_ch_switch_notify()
12795 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_ch_switch_started_notify() local
12796 struct wiphy *wiphy = wdev->wiphy; in cfg80211_ch_switch_started_notify()
12830 struct wireless_dev *wdev = netdev->ieee80211_ptr; in nl80211_radar_notify() local
12833 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev))) in nl80211_radar_notify()
12857 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_probe_status() local
12858 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_probe_status()
13000 void cfg80211_report_wowlan_wakeup(struct wireless_dev *wdev, in cfg80211_report_wowlan_wakeup() argument
13004 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_report_wowlan_wakeup()
13009 trace_cfg80211_report_wowlan_wakeup(wdev->wiphy, wdev, wakeup); in cfg80211_report_wowlan_wakeup()
13023 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev))) in cfg80211_report_wowlan_wakeup()
13026 if (wdev->netdev && nla_put_u32(msg, NL80211_ATTR_IFINDEX, in cfg80211_report_wowlan_wakeup()
13027 wdev->netdev->ifindex)) in cfg80211_report_wowlan_wakeup()
13117 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_tdls_oper_request() local
13118 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_tdls_oper_request()
13122 trace_cfg80211_tdls_oper_request(wdev->wiphy, dev, peer, oper, in cfg80211_tdls_oper_request()
13161 struct wireless_dev *wdev; in nl80211_netlink_notify() local
13179 list_for_each_entry_rcu(wdev, &rdev->wdev_list, list) { in nl80211_netlink_notify()
13180 cfg80211_mlme_unregister_socket(wdev, notify->portid); in nl80211_netlink_notify()
13182 if (wdev->owner_nlportid == notify->portid) in nl80211_netlink_notify()
13275 void cfg80211_crit_proto_stopped(struct wireless_dev *wdev, gfp_t gfp) in cfg80211_crit_proto_stopped() argument
13282 rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_crit_proto_stopped()
13298 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev))) in cfg80211_crit_proto_stopped()
13314 void nl80211_send_ap_stopped(struct wireless_dev *wdev) in nl80211_send_ap_stopped() argument
13316 struct wiphy *wiphy = wdev->wiphy; in nl80211_send_ap_stopped()
13330 nla_put_u32(msg, NL80211_ATTR_IFINDEX, wdev->netdev->ifindex) || in nl80211_send_ap_stopped()
13331 nla_put_u64(msg, NL80211_ATTR_WDEV, wdev_id(wdev))) in nl80211_send_ap_stopped()