/net/wireless/ |
D | sme.c | 50 static void cfg80211_sme_free(struct wireless_dev *wdev) in cfg80211_sme_free() argument 52 if (!wdev->conn) in cfg80211_sme_free() 55 kfree(wdev->conn->ie); in cfg80211_sme_free() 56 kfree(wdev->conn); in cfg80211_sme_free() 57 wdev->conn = NULL; in cfg80211_sme_free() 60 static int cfg80211_conn_scan(struct wireless_dev *wdev) in cfg80211_conn_scan() argument 62 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_conn_scan() 67 ASSERT_WDEV_LOCK(wdev); in cfg80211_conn_scan() 72 if (wdev->conn->params.channel) in cfg80211_conn_scan() 75 n_channels = ieee80211_get_num_supported_channels(wdev->wiphy); in cfg80211_conn_scan() [all …]
|
D | ibss.c | 20 struct wireless_dev *wdev = dev->ieee80211_ptr; in __cfg80211_ibss_joined() local 26 if (WARN_ON(wdev->iftype != NL80211_IFTYPE_ADHOC)) in __cfg80211_ibss_joined() 29 if (!wdev->ssid_len) in __cfg80211_ibss_joined() 32 bss = cfg80211_get_bss(wdev->wiphy, channel, bssid, NULL, 0, in __cfg80211_ibss_joined() 38 if (wdev->current_bss) { in __cfg80211_ibss_joined() 39 cfg80211_unhold_bss(wdev->current_bss); in __cfg80211_ibss_joined() 40 cfg80211_put_bss(wdev->wiphy, &wdev->current_bss->pub); in __cfg80211_ibss_joined() 44 wdev->current_bss = bss_from_pub(bss); in __cfg80211_ibss_joined() 46 cfg80211_upload_connect_keys(wdev); in __cfg80211_ibss_joined() 48 nl80211_send_ibss_bssid(wiphy_to_rdev(wdev->wiphy), dev, bssid, in __cfg80211_ibss_joined() [all …]
|
D | wext-sme.c | 18 struct wireless_dev *wdev) in cfg80211_mgd_wext_connect() argument 25 ASSERT_WDEV_LOCK(wdev); in cfg80211_mgd_wext_connect() 27 if (!netif_running(wdev->netdev)) in cfg80211_mgd_wext_connect() 30 wdev->wext.connect.ie = wdev->wext.ie; in cfg80211_mgd_wext_connect() 31 wdev->wext.connect.ie_len = wdev->wext.ie_len; in cfg80211_mgd_wext_connect() 34 wdev->wext.connect.bg_scan_period = -1; in cfg80211_mgd_wext_connect() 36 if (wdev->wext.keys) { in cfg80211_mgd_wext_connect() 37 wdev->wext.keys->def = wdev->wext.default_key; in cfg80211_mgd_wext_connect() 38 wdev->wext.keys->defmgmt = wdev->wext.default_mgmt_key; in cfg80211_mgd_wext_connect() 39 if (wdev->wext.default_key != -1) in cfg80211_mgd_wext_connect() [all …]
|
D | mlme.c | 24 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_rx_assoc_resp() local 25 struct wiphy *wiphy = wdev->wiphy; in cfg80211_rx_assoc_resp() 40 if (cfg80211_sme_rx_assoc_resp(wdev, status_code)) { in cfg80211_rx_assoc_resp() 54 static void cfg80211_process_auth(struct wireless_dev *wdev, in cfg80211_process_auth() argument 57 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_process_auth() 59 nl80211_send_rx_auth(rdev, wdev->netdev, buf, len, GFP_KERNEL); in cfg80211_process_auth() 60 cfg80211_sme_rx_auth(wdev, buf, len); in cfg80211_process_auth() 63 static void cfg80211_process_deauth(struct wireless_dev *wdev, in cfg80211_process_deauth() argument 66 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_process_deauth() 70 bool from_ap = !ether_addr_equal(mgmt->sa, wdev->netdev->dev_addr); in cfg80211_process_deauth() [all …]
|
D | wext-compat.c | 28 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_wext_giwname() local 32 if (!wdev) in cfg80211_wext_giwname() 35 sband = wdev->wiphy->bands[IEEE80211_BAND_5GHZ]; in cfg80211_wext_giwname() 41 sband = wdev->wiphy->bands[IEEE80211_BAND_2GHZ]; in cfg80211_wext_giwname() 71 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_wext_siwmode() local 76 rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_wext_siwmode() 95 if (type == wdev->iftype) in cfg80211_wext_siwmode() 107 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_wext_giwmode() local 109 if (!wdev) in cfg80211_wext_giwmode() 112 switch (wdev->iftype) { in cfg80211_wext_giwmode() [all …]
|
D | core.c | 141 struct wireless_dev *wdev; in cfg80211_switch_netns() local 147 list_for_each_entry(wdev, &rdev->wdev_list, list) { in cfg80211_switch_netns() 148 if (!wdev->netdev) in cfg80211_switch_netns() 150 wdev->netdev->features &= ~NETIF_F_NETNS_LOCAL; in cfg80211_switch_netns() 151 err = dev_change_net_namespace(wdev->netdev, net, "wlan%d"); in cfg80211_switch_netns() 154 wdev->netdev->features |= NETIF_F_NETNS_LOCAL; in cfg80211_switch_netns() 161 list_for_each_entry_continue_reverse(wdev, &rdev->wdev_list, in cfg80211_switch_netns() 163 if (!wdev->netdev) in cfg80211_switch_netns() 165 wdev->netdev->features &= ~NETIF_F_NETNS_LOCAL; in cfg80211_switch_netns() 166 err = dev_change_net_namespace(wdev->netdev, net, in cfg80211_switch_netns() [all …]
|
D | mesh.c | 101 struct wireless_dev *wdev = dev->ieee80211_ptr; in __cfg80211_join_mesh() local 106 ASSERT_WDEV_LOCK(wdev); in __cfg80211_join_mesh() 115 if (wdev->mesh_id_len) in __cfg80211_join_mesh() 126 setup->chandef = wdev->preset_chandef; in __cfg80211_join_mesh() 183 memcpy(wdev->ssid, setup->mesh_id, setup->mesh_id_len); in __cfg80211_join_mesh() 184 wdev->mesh_id_len = setup->mesh_id_len; in __cfg80211_join_mesh() 185 wdev->chandef = setup->chandef; in __cfg80211_join_mesh() 196 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_join_mesh() local 199 wdev_lock(wdev); in cfg80211_join_mesh() 201 wdev_unlock(wdev); in cfg80211_join_mesh() [all …]
|
D | core.h | 161 static inline void wdev_lock(struct wireless_dev *wdev) in wdev_lock() argument 162 __acquires(wdev) in wdev_lock() 164 mutex_lock(&wdev->mtx); in wdev_lock() 165 __acquire(wdev->mtx); in wdev_lock() 168 static inline void wdev_unlock(struct wireless_dev *wdev) in wdev_unlock() argument 169 __releases(wdev) in wdev_unlock() 171 __release(wdev->mtx); in wdev_unlock() 172 mutex_unlock(&wdev->mtx); in wdev_unlock() 175 #define ASSERT_WDEV_LOCK(wdev) lockdep_assert_held(&(wdev)->mtx) argument 274 struct wireless_dev *wdev); [all …]
|
D | ap.c | 12 struct wireless_dev *wdev = dev->ieee80211_ptr; in __cfg80211_stop_ap() local 15 ASSERT_WDEV_LOCK(wdev); in __cfg80211_stop_ap() 24 if (!wdev->beacon_interval) in __cfg80211_stop_ap() 29 wdev->beacon_interval = 0; in __cfg80211_stop_ap() 30 memset(&wdev->chandef, 0, sizeof(wdev->chandef)); in __cfg80211_stop_ap() 31 wdev->ssid_len = 0; in __cfg80211_stop_ap() 34 nl80211_send_ap_stopped(wdev); in __cfg80211_stop_ap() 43 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_stop_ap() local 46 wdev_lock(wdev); in cfg80211_stop_ap() 48 wdev_unlock(wdev); in cfg80211_stop_ap()
|
D | chan.c | 828 cfg80211_get_chan_state(struct wireless_dev *wdev, in cfg80211_get_chan_state() argument 838 ASSERT_WDEV_LOCK(wdev); in cfg80211_get_chan_state() 840 if (wdev->netdev && !netif_running(wdev->netdev)) in cfg80211_get_chan_state() 843 switch (wdev->iftype) { in cfg80211_get_chan_state() 845 if (wdev->current_bss) { in cfg80211_get_chan_state() 846 *chan = wdev->current_bss->pub.channel; in cfg80211_get_chan_state() 847 *chanmode = (wdev->ibss_fixed && in cfg80211_get_chan_state() 848 !wdev->ibss_dfs_possible) in cfg80211_get_chan_state() 854 if (wdev->ibss_dfs_possible) in cfg80211_get_chan_state() 855 *radar_detect |= BIT(wdev->chandef.width); in cfg80211_get_chan_state() [all …]
|
D | rdev-ops.h | 51 struct wireless_dev *wdev) in rdev_del_virtual_intf() argument 54 trace_rdev_del_virtual_intf(&rdev->wiphy, wdev); in rdev_del_virtual_intf() 55 ret = rdev->ops->del_virtual_intf(&rdev->wiphy, wdev); in rdev_del_virtual_intf() 479 struct wireless_dev *wdev, in rdev_set_tx_power() argument 483 trace_rdev_set_tx_power(&rdev->wiphy, wdev, type, mbm); in rdev_set_tx_power() 484 ret = rdev->ops->set_tx_power(&rdev->wiphy, wdev, type, mbm); in rdev_set_tx_power() 490 struct wireless_dev *wdev, int *dbm) in rdev_get_tx_power() argument 493 trace_rdev_get_tx_power(&rdev->wiphy, wdev); in rdev_get_tx_power() 494 ret = rdev->ops->get_tx_power(&rdev->wiphy, wdev, dbm); in rdev_get_tx_power() 519 struct wireless_dev *wdev, in rdev_testmode_cmd() argument [all …]
|
D | nl80211.c | 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() [all …]
|
D | util.c | 773 void cfg80211_upload_connect_keys(struct wireless_dev *wdev) in cfg80211_upload_connect_keys() argument 775 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_upload_connect_keys() 776 struct net_device *dev = wdev->netdev; in cfg80211_upload_connect_keys() 779 if (!wdev->connect_keys) in cfg80211_upload_connect_keys() 783 if (!wdev->connect_keys->params[i].cipher) in cfg80211_upload_connect_keys() 786 &wdev->connect_keys->params[i])) { in cfg80211_upload_connect_keys() 790 if (wdev->connect_keys->def == i) in cfg80211_upload_connect_keys() 795 if (wdev->connect_keys->defmgmt == i) in cfg80211_upload_connect_keys() 800 kzfree(wdev->connect_keys); in cfg80211_upload_connect_keys() 801 wdev->connect_keys = NULL; in cfg80211_upload_connect_keys() [all …]
|
D | ethtool.c | 8 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_get_drvinfo() local 10 strlcpy(info->driver, wiphy_dev(wdev->wiphy)->driver->name, in cfg80211_get_drvinfo() 15 if (wdev->wiphy->fw_version[0]) in cfg80211_get_drvinfo() 16 strlcpy(info->fw_version, wdev->wiphy->fw_version, in cfg80211_get_drvinfo() 21 strlcpy(info->bus_info, dev_name(wiphy_dev(wdev->wiphy)), in cfg80211_get_drvinfo()
|
D | trace.h | 30 #define WDEV_ASSIGN (__entry->id) = (!IS_ERR_OR_NULL(wdev) \ 31 ? wdev->identifier : 0) 349 TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev), 350 TP_ARGS(wiphy, wdev), 363 TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev), 364 TP_ARGS(wiphy, wdev) 368 TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev), 369 TP_ARGS(wiphy, wdev) 1094 struct wireless_dev *wdev, u64 cookie), 1095 TP_ARGS(wiphy, wdev, cookie), [all …]
|
D | nl80211.h | 11 struct wireless_dev *wdev); 13 struct wireless_dev *wdev, bool aborted); 69 struct wireless_dev *wdev, u32 nlpid, 79 void nl80211_send_ap_stopped(struct wireless_dev *wdev);
|
D | sysfs.c | 92 struct wireless_dev *wdev; in cfg80211_leave_all() local 94 list_for_each_entry(wdev, &rdev->wdev_list, list) in cfg80211_leave_all() 95 cfg80211_leave(rdev, wdev); in cfg80211_leave_all()
|
D | scan.c | 169 struct wireless_dev *wdev; in ___cfg80211_scan_done() local 187 wdev = request->wdev; in ___cfg80211_scan_done() 194 if (wdev->netdev) in ___cfg80211_scan_done() 195 cfg80211_sme_scan_done(wdev->netdev); in ___cfg80211_scan_done() 205 msg = nl80211_build_scan_msg(rdev, wdev, request->aborted); in ___cfg80211_scan_done() 208 if (wdev->netdev && !request->aborted) { in ___cfg80211_scan_done() 211 wireless_send_event(wdev->netdev, SIOCGIWSCAN, &wrqu, NULL); in ___cfg80211_scan_done() 215 if (wdev->netdev) in ___cfg80211_scan_done() 216 dev_put(wdev->netdev); in ___cfg80211_scan_done() 1149 creq->wdev = dev->ieee80211_ptr; in cfg80211_wext_siwscan()
|
/net/mac80211/ |
D | iface.c | 403 sdata->wdev.iftype = NL80211_IFTYPE_MONITOR; in ieee80211_add_virtual_monitor() 480 int ieee80211_do_open(struct wireless_dev *wdev, bool coming_up) in ieee80211_do_open() argument 482 struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev); in ieee80211_do_open() 483 struct net_device *dev = wdev->netdev; in ieee80211_do_open() 757 return ieee80211_do_open(&sdata->wdev, true); in ieee80211_open() 860 if (sdata->wdev.cac_started) { in ieee80211_do_stop() 1314 sdata->wdev.iftype = type; in ieee80211_setup_sdata() 1461 err = ieee80211_do_open(&sdata->wdev, false); in ieee80211_runtime_change_iftype() 1640 struct wireless_dev *wdev; in ieee80211_if_add() local 1646 wdev = &sdata->wdev; in ieee80211_if_add() [all …]
|
D | cfg.c | 31 struct wireless_dev *wdev; in ieee80211_add_iface() local 35 err = ieee80211_if_add(local, name, &wdev, type, params); in ieee80211_add_iface() 40 sdata = IEEE80211_WDEV_TO_SUB_IF(wdev); in ieee80211_add_iface() 44 return wdev; in ieee80211_add_iface() 47 static int ieee80211_del_iface(struct wiphy *wiphy, struct wireless_dev *wdev) in ieee80211_del_iface() argument 49 ieee80211_if_remove(IEEE80211_WDEV_TO_SUB_IF(wdev)); in ieee80211_del_iface() 111 struct wireless_dev *wdev) in ieee80211_start_p2p_device() argument 113 struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev); in ieee80211_start_p2p_device() 122 return ieee80211_do_open(wdev, true); in ieee80211_start_p2p_device() 126 struct wireless_dev *wdev) in ieee80211_stop_p2p_device() argument [all …]
|
D | ieee80211_i.h | 763 struct wireless_dev wdev; member 878 __acquires(&sdata->wdev.mtx) in sdata_lock() 880 mutex_lock(&sdata->wdev.mtx); in sdata_lock() 881 __acquire(&sdata->wdev.mtx); in sdata_lock() 885 __releases(&sdata->wdev.mtx) in sdata_unlock() 887 mutex_unlock(&sdata->wdev.mtx); in sdata_unlock() 888 __release(&sdata->wdev.mtx); in sdata_unlock() 892 rcu_dereference_protected(p, lockdep_is_held(&sdata->wdev.mtx)) 897 lockdep_assert_held(&sdata->wdev.mtx); in sdata_assert_lock() 1332 IEEE80211_WDEV_TO_SUB_IF(struct wireless_dev *wdev) in IEEE80211_WDEV_TO_SUB_IF() argument [all …]
|
D | offchannel.c | 202 cfg80211_ready_on_channel(&roc->sdata->wdev, roc->cookie, in ieee80211_handle_roc_started() 311 cfg80211_mgmt_tx_status(&roc->sdata->wdev, in ieee80211_roc_notify_destroy() 319 cfg80211_remain_on_channel_expired(&roc->sdata->wdev, in ieee80211_roc_notify_destroy()
|
D | ethtool.c | 228 struct wireless_dev *wdev = dev->ieee80211_ptr; in ieee80211_get_regs() local 230 regs->version = wdev->wiphy->hw_version; in ieee80211_get_regs()
|
D | main.c | 302 struct wireless_dev *wdev = ndev->ieee80211_ptr; in ieee80211_ifa_changed() local 310 if (!wdev) in ieee80211_ifa_changed() 313 if (wdev->wiphy != local->hw.wiphy) in ieee80211_ifa_changed() 361 struct wireless_dev *wdev = ndev->ieee80211_ptr; in ieee80211_ifa6_changed() local 365 if (!wdev || wdev->wiphy != local->hw.wiphy) in ieee80211_ifa6_changed()
|
D | pm.c | 154 cfg80211_report_wowlan_wakeup(&sdata->wdev, wakeup, gfp); in ieee80211_report_wowlan_wakeup()
|