Home
last modified time | relevance | path

Searched refs:wdev (Results 1 – 25 of 45) sorted by relevance

12

/net/wireless/
Dibss.c21 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 …]
Dsme.c54 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 …]
Dwext-sme.c19 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 …]
Dmlme.c27 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 …]
Dwext-compat.c38 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 …]
Dcore.c158 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 …]
Dmesh.c102 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 …]
Dcore.h213 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 …]
Dap.c13 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 …]
Dpmsr.c213 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 …]
Docb.c21 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 …]
Dchan.c602 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 …]
Drdev-ops.h53 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 …]
Dnl80211.c89 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 …]
Dnl80211.h21 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);
Dutil.c889 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 …]
Dethtool.c9 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()
Dtrace.h32 #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 …]
Dreg.c2116 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/
Dcore.c88 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 …]
Dtx.c37 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/
Doffchannel.c193 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 …]
Dcfg.c122 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 …]
Dieee80211_i.h887 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 …]
Diface.c409 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 …]

12