/net/wireless/ |
D | ibss.c | 21 struct wireless_dev *wdev = dev->ieee80211_ptr; in __cfg80211_ibss_joined() local 27 if (WARN_ON(wdev->iftype != NL80211_IFTYPE_ADHOC)) in __cfg80211_ibss_joined() 30 if (!wdev->ssid_len) in __cfg80211_ibss_joined() 33 bss = cfg80211_get_bss(wdev->wiphy, channel, bssid, NULL, 0, in __cfg80211_ibss_joined() 39 if (wdev->current_bss) { in __cfg80211_ibss_joined() 40 cfg80211_unhold_bss(wdev->current_bss); in __cfg80211_ibss_joined() 41 cfg80211_put_bss(wdev->wiphy, &wdev->current_bss->pub); in __cfg80211_ibss_joined() 45 wdev->current_bss = bss_from_pub(bss); in __cfg80211_ibss_joined() 47 if (!(wdev->wiphy->flags & WIPHY_FLAG_HAS_STATIC_WEP)) in __cfg80211_ibss_joined() 48 cfg80211_upload_connect_keys(wdev); in __cfg80211_ibss_joined() [all …]
|
D | sme.c | 54 static void cfg80211_sme_free(struct wireless_dev *wdev) in cfg80211_sme_free() argument 56 if (!wdev->conn) in cfg80211_sme_free() 59 kfree(wdev->conn->ie); in cfg80211_sme_free() 60 kfree(wdev->conn); in cfg80211_sme_free() 61 wdev->conn = NULL; in cfg80211_sme_free() 64 static int cfg80211_conn_scan(struct wireless_dev *wdev) in cfg80211_conn_scan() argument 66 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_conn_scan() 71 ASSERT_WDEV_LOCK(wdev); in cfg80211_conn_scan() 76 if (wdev->conn->params.channel) in cfg80211_conn_scan() 79 n_channels = ieee80211_get_num_supported_channels(wdev->wiphy); in cfg80211_conn_scan() [all …]
|
D | wext-sme.c | 19 struct wireless_dev *wdev) in cfg80211_mgd_wext_connect() argument 26 ASSERT_WDEV_LOCK(wdev); in cfg80211_mgd_wext_connect() 28 if (!netif_running(wdev->netdev)) in cfg80211_mgd_wext_connect() 31 wdev->wext.connect.ie = wdev->wext.ie; in cfg80211_mgd_wext_connect() 32 wdev->wext.connect.ie_len = wdev->wext.ie_len; in cfg80211_mgd_wext_connect() 35 wdev->wext.connect.bg_scan_period = -1; in cfg80211_mgd_wext_connect() 37 if (wdev->wext.keys) { in cfg80211_mgd_wext_connect() 38 wdev->wext.keys->def = wdev->wext.default_key; in cfg80211_mgd_wext_connect() 39 if (wdev->wext.default_key != -1) in cfg80211_mgd_wext_connect() 40 wdev->wext.connect.privacy = true; in cfg80211_mgd_wext_connect() [all …]
|
D | mlme.c | 27 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_rx_assoc_resp() local 28 struct wiphy *wiphy = wdev->wiphy; in cfg80211_rx_assoc_resp() 52 if (cfg80211_sme_rx_assoc_resp(wdev, cr.status)) { in cfg80211_rx_assoc_resp() 65 static void cfg80211_process_auth(struct wireless_dev *wdev, in cfg80211_process_auth() argument 68 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_process_auth() 70 nl80211_send_rx_auth(rdev, wdev->netdev, buf, len, GFP_KERNEL); in cfg80211_process_auth() 71 cfg80211_sme_rx_auth(wdev, buf, len); in cfg80211_process_auth() 74 static void cfg80211_process_deauth(struct wireless_dev *wdev, in cfg80211_process_deauth() argument 77 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_process_deauth() 81 bool from_ap = !ether_addr_equal(mgmt->sa, wdev->netdev->dev_addr); in cfg80211_process_deauth() [all …]
|
D | wext-compat.c | 38 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_wext_siwmode() local 43 rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_wext_siwmode() 62 if (type == wdev->iftype) in cfg80211_wext_siwmode() 74 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_wext_giwmode() local 76 if (!wdev) in cfg80211_wext_giwmode() 79 switch (wdev->iftype) { in cfg80211_wext_giwmode() 111 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_wext_giwrange() local 116 if (!wdev) in cfg80211_wext_giwrange() 137 switch (wdev->wiphy->signal_type) { in cfg80211_wext_giwrange() 161 for (i = 0; i < wdev->wiphy->n_cipher_suites; i++) { in cfg80211_wext_giwrange() [all …]
|
D | core.c | 158 struct wireless_dev *wdev; in cfg80211_switch_netns() local 164 list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) { in cfg80211_switch_netns() 165 if (!wdev->netdev) in cfg80211_switch_netns() 167 wdev->netdev->features &= ~NETIF_F_NETNS_LOCAL; in cfg80211_switch_netns() 168 err = dev_change_net_namespace(wdev->netdev, net, "wlan%d"); in cfg80211_switch_netns() 171 wdev->netdev->features |= NETIF_F_NETNS_LOCAL; in cfg80211_switch_netns() 178 list_for_each_entry_continue_reverse(wdev, in cfg80211_switch_netns() 181 if (!wdev->netdev) in cfg80211_switch_netns() 183 wdev->netdev->features &= ~NETIF_F_NETNS_LOCAL; in cfg80211_switch_netns() 184 err = dev_change_net_namespace(wdev->netdev, net, in cfg80211_switch_netns() [all …]
|
D | mesh.c | 102 struct wireless_dev *wdev = dev->ieee80211_ptr; in __cfg80211_join_mesh() local 107 ASSERT_WDEV_LOCK(wdev); in __cfg80211_join_mesh() 116 if (wdev->mesh_id_len) in __cfg80211_join_mesh() 127 setup->chandef = wdev->preset_chandef; in __cfg80211_join_mesh() 211 memcpy(wdev->ssid, setup->mesh_id, setup->mesh_id_len); in __cfg80211_join_mesh() 212 wdev->mesh_id_len = setup->mesh_id_len; in __cfg80211_join_mesh() 213 wdev->chandef = setup->chandef; in __cfg80211_join_mesh() 214 wdev->beacon_interval = setup->beacon_interval; in __cfg80211_join_mesh() 221 struct wireless_dev *wdev, in cfg80211_set_mesh_channel() argument 237 if (!netif_running(wdev->netdev)) in cfg80211_set_mesh_channel() [all …]
|
D | core.h | 213 void cfg80211_init_wdev(struct wireless_dev *wdev); 215 struct wireless_dev *wdev); 217 static inline void wdev_lock(struct wireless_dev *wdev) in wdev_lock() argument 218 __acquires(wdev) in wdev_lock() 220 mutex_lock(&wdev->mtx); in wdev_lock() 221 __acquire(wdev->mtx); in wdev_lock() 224 static inline void wdev_unlock(struct wireless_dev *wdev) in wdev_unlock() argument 225 __releases(wdev) in wdev_unlock() 227 __release(wdev->mtx); in wdev_unlock() 228 mutex_unlock(&wdev->mtx); in wdev_unlock() [all …]
|
D | ap.c | 13 struct wireless_dev *wdev = dev->ieee80211_ptr; in __cfg80211_stop_ap() local 16 ASSERT_WDEV_LOCK(wdev); in __cfg80211_stop_ap() 25 if (!wdev->beacon_interval) in __cfg80211_stop_ap() 30 wdev->conn_owner_nlportid = 0; in __cfg80211_stop_ap() 31 wdev->beacon_interval = 0; in __cfg80211_stop_ap() 32 memset(&wdev->chandef, 0, sizeof(wdev->chandef)); in __cfg80211_stop_ap() 33 wdev->ssid_len = 0; in __cfg80211_stop_ap() 36 nl80211_send_ap_stopped(wdev); in __cfg80211_stop_ap() 52 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_stop_ap() local 55 wdev_lock(wdev); in cfg80211_stop_ap() [all …]
|
D | pmsr.c | 213 struct wireless_dev *wdev = info->user_ptr[1]; in nl80211_pmsr_start() local 261 memcpy(req->mac_addr, wdev_address(wdev), ETH_ALEN); in nl80211_pmsr_start() 278 err = rdev_start_pmsr(rdev, wdev, req); in nl80211_pmsr_start() 282 list_add_tail(&req->list, &wdev->pmsr_list); in nl80211_pmsr_start() 291 void cfg80211_pmsr_complete(struct wireless_dev *wdev, in cfg80211_pmsr_complete() argument 295 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_pmsr_complete() 300 trace_cfg80211_pmsr_complete(wdev->wiphy, wdev, req->cookie); in cfg80211_pmsr_complete() 312 nla_put_u64_64bit(msg, NL80211_ATTR_WDEV, wdev_id(wdev), in cfg80211_pmsr_complete() 321 genlmsg_unicast(wiphy_net(wdev->wiphy), msg, req->nl_portid); in cfg80211_pmsr_complete() 326 spin_lock_bh(&wdev->pmsr_lock); in cfg80211_pmsr_complete() [all …]
|
D | ocb.c | 21 struct wireless_dev *wdev = dev->ieee80211_ptr; in __cfg80211_join_ocb() local 24 ASSERT_WDEV_LOCK(wdev); in __cfg80211_join_ocb() 37 wdev->chandef = setup->chandef; in __cfg80211_join_ocb() 46 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_join_ocb() local 49 wdev_lock(wdev); in cfg80211_join_ocb() 51 wdev_unlock(wdev); in cfg80211_join_ocb() 59 struct wireless_dev *wdev = dev->ieee80211_ptr; in __cfg80211_leave_ocb() local 62 ASSERT_WDEV_LOCK(wdev); in __cfg80211_leave_ocb() 72 memset(&wdev->chandef, 0, sizeof(wdev->chandef)); in __cfg80211_leave_ocb() 80 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_leave_ocb() local [all …]
|
D | chan.c | 602 bool cfg80211_beaconing_iface_active(struct wireless_dev *wdev) in cfg80211_beaconing_iface_active() argument 606 ASSERT_WDEV_LOCK(wdev); in cfg80211_beaconing_iface_active() 608 if (!wdev->chandef.chan) in cfg80211_beaconing_iface_active() 611 switch (wdev->iftype) { in cfg80211_beaconing_iface_active() 614 active = wdev->beacon_interval != 0; in cfg80211_beaconing_iface_active() 617 active = wdev->ssid_len != 0; in cfg80211_beaconing_iface_active() 620 active = wdev->mesh_id_len != 0; in cfg80211_beaconing_iface_active() 643 struct wireless_dev *wdev; in cfg80211_is_wiphy_oper_chan() local 645 list_for_each_entry(wdev, &wiphy->wdev_list, list) { in cfg80211_is_wiphy_oper_chan() 646 wdev_lock(wdev); in cfg80211_is_wiphy_oper_chan() [all …]
|
D | rdev-ops.h | 53 struct wireless_dev *wdev) in rdev_del_virtual_intf() argument 56 trace_rdev_del_virtual_intf(&rdev->wiphy, wdev); in rdev_del_virtual_intf() 57 ret = rdev->ops->del_virtual_intf(&rdev->wiphy, wdev); in rdev_del_virtual_intf() 445 struct wireless_dev *wdev) in rdev_abort_scan() argument 447 trace_rdev_abort_scan(&rdev->wiphy, wdev); in rdev_abort_scan() 448 rdev->ops->abort_scan(&rdev->wiphy, wdev); in rdev_abort_scan() 565 struct wireless_dev *wdev, in rdev_set_tx_power() argument 569 trace_rdev_set_tx_power(&rdev->wiphy, wdev, type, mbm); in rdev_set_tx_power() 570 ret = rdev->ops->set_tx_power(&rdev->wiphy, wdev, type, mbm); in rdev_set_tx_power() 576 struct wireless_dev *wdev, int *dbm) in rdev_get_tx_power() argument [all …]
|
D | nl80211.c | 89 struct wireless_dev *wdev; in __cfg80211_wdev_from_attrs() local 97 list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) { in __cfg80211_wdev_from_attrs() 98 if (have_ifidx && wdev->netdev && in __cfg80211_wdev_from_attrs() 99 wdev->netdev->ifindex == ifidx) { in __cfg80211_wdev_from_attrs() 100 result = wdev; in __cfg80211_wdev_from_attrs() 103 if (have_wdev_id && wdev->identifier == (u32)wdev_id) { in __cfg80211_wdev_from_attrs() 104 result = wdev; in __cfg80211_wdev_from_attrs() 137 struct wireless_dev *wdev; in __cfg80211_rdev_from_attrs() local 143 list_for_each_entry(wdev, &tmp->wiphy.wdev_list, list) { in __cfg80211_rdev_from_attrs() 144 if (wdev->identifier != (u32)wdev_id) in __cfg80211_rdev_from_attrs() [all …]
|
D | nl80211.h | 21 static inline u64 wdev_id(struct wireless_dev *wdev) in wdev_id() argument 23 return (u64)wdev->identifier | in wdev_id() 24 ((u64)wiphy_to_rdev(wdev->wiphy)->wiphy_idx << 32); in wdev_id() 29 struct wireless_dev **wdev); 40 struct wireless_dev *wdev, 43 struct wireless_dev *wdev); 45 struct wireless_dev *wdev, bool aborted); 113 struct wireless_dev *wdev, u32 nlpid, 123 void nl80211_send_ap_stopped(struct wireless_dev *wdev);
|
D | util.c | 889 void cfg80211_upload_connect_keys(struct wireless_dev *wdev) in cfg80211_upload_connect_keys() argument 891 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); in cfg80211_upload_connect_keys() 892 struct net_device *dev = wdev->netdev; in cfg80211_upload_connect_keys() 895 if (!wdev->connect_keys) in cfg80211_upload_connect_keys() 899 if (!wdev->connect_keys->params[i].cipher) in cfg80211_upload_connect_keys() 902 &wdev->connect_keys->params[i])) { in cfg80211_upload_connect_keys() 906 if (wdev->connect_keys->def == i && in cfg80211_upload_connect_keys() 913 kzfree(wdev->connect_keys); in cfg80211_upload_connect_keys() 914 wdev->connect_keys = NULL; in cfg80211_upload_connect_keys() 917 void cfg80211_process_wdev_events(struct wireless_dev *wdev) in cfg80211_process_wdev_events() argument [all …]
|
D | ethtool.c | 9 struct wireless_dev *wdev = dev->ieee80211_ptr; in cfg80211_get_drvinfo() local 10 struct device *pdev = wiphy_dev(wdev->wiphy); in cfg80211_get_drvinfo() 20 if (wdev->wiphy->fw_version[0]) in cfg80211_get_drvinfo() 21 strlcpy(info->fw_version, wdev->wiphy->fw_version, in cfg80211_get_drvinfo() 26 strlcpy(info->bus_info, dev_name(wiphy_dev(wdev->wiphy)), in cfg80211_get_drvinfo()
|
D | trace.h | 32 #define WDEV_ASSIGN (__entry->id) = (!IS_ERR_OR_NULL(wdev) \ 33 ? wdev->identifier : 0) 362 TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev), 363 TP_ARGS(wiphy, wdev), 376 TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev, u64 cookie), 377 TP_ARGS(wiphy, wdev, cookie), 394 TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev), 395 TP_ARGS(wiphy, wdev) 399 TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev), 400 TP_ARGS(wiphy, wdev) [all …]
|
D | reg.c | 2116 static bool reg_wdev_chan_valid(struct wiphy *wiphy, struct wireless_dev *wdev) in reg_wdev_chan_valid() argument 2122 wdev_lock(wdev); in reg_wdev_chan_valid() 2123 iftype = wdev->iftype; in reg_wdev_chan_valid() 2126 if (!wdev->netdev || !netif_running(wdev->netdev)) in reg_wdev_chan_valid() 2132 if (!wdev->beacon_interval) in reg_wdev_chan_valid() 2134 chandef = wdev->chandef; in reg_wdev_chan_valid() 2137 if (!wdev->ssid_len) in reg_wdev_chan_valid() 2139 chandef = wdev->chandef; in reg_wdev_chan_valid() 2143 if (!wdev->current_bss || in reg_wdev_chan_valid() 2144 !wdev->current_bss->pub.channel) in reg_wdev_chan_valid() [all …]
|
/net/ieee802154/6lowpan/ |
D | core.c | 88 return lowpan_802154_dev(dev)->wdev->ifindex; in lowpan_get_iflink() 127 struct net_device *wdev; in lowpan_newlink() local 137 wdev = dev_get_by_index(dev_net(ldev), nla_get_u32(tb[IFLA_LINK])); in lowpan_newlink() 138 if (!wdev) in lowpan_newlink() 140 if (wdev->type != ARPHRD_IEEE802154) { in lowpan_newlink() 141 dev_put(wdev); in lowpan_newlink() 145 if (wdev->ieee802154_ptr->lowpan_dev) { in lowpan_newlink() 146 dev_put(wdev); in lowpan_newlink() 150 lowpan_802154_dev(ldev)->wdev = wdev; in lowpan_newlink() 152 memcpy(ldev->dev_addr, wdev->dev_addr, IEEE802154_ADDR_LEN); in lowpan_newlink() [all …]
|
D | tx.c | 37 struct wpan_dev *wpan_dev = lowpan_802154_dev(ldev)->wdev->ieee802154_ptr; in lowpan_header_create() 104 struct net_device *wdev = lowpan_802154_dev(skb->dev)->wdev; in lowpan_alloc_frag() local 108 frag = alloc_skb(wdev->needed_headroom + wdev->needed_tailroom + size, in lowpan_alloc_frag() 112 frag->dev = wdev; in lowpan_alloc_frag() 114 skb_reserve(frag, wdev->needed_headroom); in lowpan_alloc_frag() 121 rc = wpan_dev_hard_header(frag, wdev, in lowpan_alloc_frag() 227 struct wpan_dev *wpan_dev = lowpan_802154_dev(ldev)->wdev->ieee802154_ptr; in lowpan_header() 246 return wpan_dev_hard_header(skb, lowpan_802154_dev(ldev)->wdev, in lowpan_header() 296 skb->dev = lowpan_802154_dev(ldev)->wdev; in lowpan_xmit()
|
/net/mac80211/ |
D | offchannel.c | 193 cfg80211_mgmt_tx_status(&roc->sdata->wdev, roc->mgmt_tx_cookie, in ieee80211_roc_notify_destroy() 200 cfg80211_remain_on_channel_expired(&roc->sdata->wdev, in ieee80211_roc_notify_destroy() 204 cfg80211_tx_mgmt_expired(&roc->sdata->wdev, in ieee80211_roc_notify_destroy() 271 cfg80211_ready_on_channel(&roc->sdata->wdev, roc->cookie, in ieee80211_handle_roc_started() 686 int ieee80211_remain_on_channel(struct wiphy *wiphy, struct wireless_dev *wdev, in ieee80211_remain_on_channel() argument 690 struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev); in ieee80211_remain_on_channel() 772 struct wireless_dev *wdev, u64 cookie) in ieee80211_cancel_remain_on_channel() argument 774 struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev); in ieee80211_cancel_remain_on_channel() 780 int ieee80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev, in ieee80211_mgmt_tx() argument 783 struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev); in ieee80211_mgmt_tx() [all …]
|
D | cfg.c | 122 struct wireless_dev *wdev; in ieee80211_add_iface() local 126 err = ieee80211_if_add(local, name, name_assign_type, &wdev, type, params); in ieee80211_add_iface() 130 sdata = IEEE80211_WDEV_TO_SUB_IF(wdev); in ieee80211_add_iface() 140 return wdev; in ieee80211_add_iface() 143 static int ieee80211_del_iface(struct wiphy *wiphy, struct wireless_dev *wdev) in ieee80211_del_iface() argument 145 ieee80211_if_remove(IEEE80211_WDEV_TO_SUB_IF(wdev)); in ieee80211_del_iface() 179 struct wireless_dev *wdev) in ieee80211_start_p2p_device() argument 181 struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev); in ieee80211_start_p2p_device() 190 return ieee80211_do_open(wdev, true); in ieee80211_start_p2p_device() 194 struct wireless_dev *wdev) in ieee80211_stop_p2p_device() argument [all …]
|
D | ieee80211_i.h | 887 struct wireless_dev wdev; member 1005 __acquires(&sdata->wdev.mtx) in sdata_lock() 1007 mutex_lock(&sdata->wdev.mtx); in sdata_lock() 1008 __acquire(&sdata->wdev.mtx); in sdata_lock() 1012 __releases(&sdata->wdev.mtx) in sdata_unlock() 1014 mutex_unlock(&sdata->wdev.mtx); in sdata_unlock() 1015 __release(&sdata->wdev.mtx); in sdata_unlock() 1019 rcu_dereference_protected(p, lockdep_is_held(&sdata->wdev.mtx)) 1024 lockdep_assert_held(&sdata->wdev.mtx); in sdata_assert_lock() 1433 IEEE80211_WDEV_TO_SUB_IF(struct wireless_dev *wdev) in IEEE80211_WDEV_TO_SUB_IF() argument [all …]
|
D | iface.c | 409 sdata->wdev.iftype = NL80211_IFTYPE_MONITOR; in ieee80211_add_virtual_monitor() 489 int ieee80211_do_open(struct wireless_dev *wdev, bool coming_up) in ieee80211_do_open() argument 491 struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev); in ieee80211_do_open() 492 struct net_device *dev = wdev->netdev; in ieee80211_do_open() 790 return ieee80211_do_open(&sdata->wdev, true); in ieee80211_open() 900 if (sdata->wdev.cac_started) { in ieee80211_do_stop() 1395 sdata->wdev.iftype = type; in ieee80211_setup_sdata() 1557 err = ieee80211_do_open(&sdata->wdev, false); in ieee80211_runtime_change_iftype() 1740 struct wireless_dev *wdev; in ieee80211_if_add() local 1746 wdev = &sdata->wdev; in ieee80211_if_add() [all …]
|