Lines Matching refs:wdev
652 struct wireless_dev *wdev, in cfg80211_dfs_permissive_check_wdev() argument
657 for_each_valid_link(wdev, link_id) { in cfg80211_dfs_permissive_check_wdev()
663 if (wdev->iftype != NL80211_IFTYPE_STATION || in cfg80211_dfs_permissive_check_wdev()
664 !wdev->links[link_id].client.current_bss) in cfg80211_dfs_permissive_check_wdev()
668 wdev->links[link_id].client.current_bss->pub.channel; in cfg80211_dfs_permissive_check_wdev()
677 ret = rdev_get_channel(rdev, wdev, link_id, &chandef); in cfg80211_dfs_permissive_check_wdev()
695 struct wireless_dev *wdev; in cfg80211_dfs_permissive_chan() local
712 list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) { in cfg80211_dfs_permissive_chan()
714 wdev, chan); in cfg80211_dfs_permissive_chan()
865 bool cfg80211_beaconing_iface_active(struct wireless_dev *wdev) in cfg80211_beaconing_iface_active() argument
869 lockdep_assert_wiphy(wdev->wiphy); in cfg80211_beaconing_iface_active()
871 switch (wdev->iftype) { in cfg80211_beaconing_iface_active()
874 for_each_valid_link(wdev, link) { in cfg80211_beaconing_iface_active()
875 if (wdev->links[link].ap.beacon_interval) in cfg80211_beaconing_iface_active()
880 if (wdev->u.ibss.ssid_len) in cfg80211_beaconing_iface_active()
884 if (wdev->u.mesh.id_len) in cfg80211_beaconing_iface_active()
905 bool cfg80211_wdev_on_sub_chan(struct wireless_dev *wdev, in cfg80211_wdev_on_sub_chan() argument
911 switch (wdev->iftype) { in cfg80211_wdev_on_sub_chan()
914 for_each_valid_link(wdev, link) { in cfg80211_wdev_on_sub_chan()
915 if (cfg80211_is_sub_chan(&wdev->links[link].ap.chandef, in cfg80211_wdev_on_sub_chan()
921 return cfg80211_is_sub_chan(&wdev->u.ibss.chandef, chan, in cfg80211_wdev_on_sub_chan()
924 return cfg80211_is_sub_chan(&wdev->u.mesh.chandef, chan, in cfg80211_wdev_on_sub_chan()
936 struct wireless_dev *wdev; in cfg80211_is_wiphy_oper_chan() local
940 list_for_each_entry(wdev, &wiphy->wdev_list, list) { in cfg80211_is_wiphy_oper_chan()
941 if (!cfg80211_beaconing_iface_active(wdev)) in cfg80211_is_wiphy_oper_chan()
944 if (cfg80211_wdev_on_sub_chan(wdev, chan, false)) in cfg80211_is_wiphy_oper_chan()
1318 struct wireless_dev *wdev, in cfg80211_ir_permissive_check_wdev() argument
1325 for_each_valid_link(wdev, link_id) { in cfg80211_ir_permissive_check_wdev()
1326 if (wdev->iftype == NL80211_IFTYPE_STATION && in cfg80211_ir_permissive_check_wdev()
1327 wdev->links[link_id].client.current_bss) in cfg80211_ir_permissive_check_wdev()
1328 other_chan = wdev->links[link_id].client.current_bss->pub.channel; in cfg80211_ir_permissive_check_wdev()
1338 wdev->iftype == NL80211_IFTYPE_P2P_GO && in cfg80211_ir_permissive_check_wdev()
1339 wdev->links[link_id].ap.beacon_interval && in cfg80211_ir_permissive_check_wdev()
1341 other_chan = wdev->links[link_id].ap.chandef.chan; in cfg80211_ir_permissive_check_wdev()
1392 struct wireless_dev *wdev; in cfg80211_ir_permissive_chan() local
1421 list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) { in cfg80211_ir_permissive_chan()
1424 ret = cfg80211_ir_permissive_check_wdev(iftype, wdev, chan); in cfg80211_ir_permissive_chan()
1550 struct cfg80211_chan_def *wdev_chandef(struct wireless_dev *wdev, in wdev_chandef() argument
1553 lockdep_assert_wiphy(wdev->wiphy); in wdev_chandef()
1555 WARN_ON(wdev->valid_links && !(wdev->valid_links & BIT(link_id))); in wdev_chandef()
1556 WARN_ON(!wdev->valid_links && link_id > 0); in wdev_chandef()
1558 switch (wdev->iftype) { in wdev_chandef()
1560 return &wdev->u.mesh.chandef; in wdev_chandef()
1562 return &wdev->u.ibss.chandef; in wdev_chandef()
1564 return &wdev->u.ocb.chandef; in wdev_chandef()
1567 return &wdev->links[link_id].ap.chandef; in wdev_chandef()