Lines Matching refs:wdev

495 bool cfg80211_beaconing_iface_active(struct wireless_dev *wdev)  in cfg80211_beaconing_iface_active()  argument
499 ASSERT_WDEV_LOCK(wdev); in cfg80211_beaconing_iface_active()
501 if (!wdev->chandef.chan) in cfg80211_beaconing_iface_active()
504 switch (wdev->iftype) { in cfg80211_beaconing_iface_active()
507 active = wdev->beacon_interval != 0; in cfg80211_beaconing_iface_active()
510 active = wdev->ssid_len != 0; in cfg80211_beaconing_iface_active()
513 active = wdev->mesh_id_len != 0; in cfg80211_beaconing_iface_active()
536 struct wireless_dev *wdev; in cfg80211_is_wiphy_oper_chan() local
538 list_for_each_entry(wdev, &wiphy->wdev_list, list) { in cfg80211_is_wiphy_oper_chan()
539 wdev_lock(wdev); in cfg80211_is_wiphy_oper_chan()
540 if (!cfg80211_beaconing_iface_active(wdev)) { in cfg80211_is_wiphy_oper_chan()
541 wdev_unlock(wdev); in cfg80211_is_wiphy_oper_chan()
545 if (cfg80211_is_sub_chan(&wdev->chandef, chan)) { in cfg80211_is_wiphy_oper_chan()
546 wdev_unlock(wdev); in cfg80211_is_wiphy_oper_chan()
549 wdev_unlock(wdev); in cfg80211_is_wiphy_oper_chan()
836 struct wireless_dev *wdev; in cfg80211_ir_permissive_chan() local
865 list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) { in cfg80211_ir_permissive_chan()
869 wdev_lock(wdev); in cfg80211_ir_permissive_chan()
870 if (wdev->iftype == NL80211_IFTYPE_STATION && in cfg80211_ir_permissive_chan()
871 wdev->current_bss) in cfg80211_ir_permissive_chan()
872 other_chan = wdev->current_bss->pub.channel; in cfg80211_ir_permissive_chan()
882 wdev->iftype == NL80211_IFTYPE_P2P_GO && in cfg80211_ir_permissive_chan()
883 wdev->beacon_interval && in cfg80211_ir_permissive_chan()
885 other_chan = wdev->chandef.chan; in cfg80211_ir_permissive_chan()
886 wdev_unlock(wdev); in cfg80211_ir_permissive_chan()
990 cfg80211_get_chan_state(struct wireless_dev *wdev, in cfg80211_get_chan_state() argument
1000 ASSERT_WDEV_LOCK(wdev); in cfg80211_get_chan_state()
1002 if (wdev->netdev && !netif_running(wdev->netdev)) in cfg80211_get_chan_state()
1005 switch (wdev->iftype) { in cfg80211_get_chan_state()
1007 if (wdev->current_bss) { in cfg80211_get_chan_state()
1008 *chan = wdev->current_bss->pub.channel; in cfg80211_get_chan_state()
1009 *chanmode = (wdev->ibss_fixed && in cfg80211_get_chan_state()
1010 !wdev->ibss_dfs_possible) in cfg80211_get_chan_state()
1016 if (wdev->ibss_dfs_possible) in cfg80211_get_chan_state()
1017 *radar_detect |= BIT(wdev->chandef.width); in cfg80211_get_chan_state()
1023 if (wdev->current_bss) { in cfg80211_get_chan_state()
1024 *chan = wdev->current_bss->pub.channel; in cfg80211_get_chan_state()
1031 if (wdev->cac_started) { in cfg80211_get_chan_state()
1032 *chan = wdev->chandef.chan; in cfg80211_get_chan_state()
1034 *radar_detect |= BIT(wdev->chandef.width); in cfg80211_get_chan_state()
1035 } else if (wdev->beacon_interval) { in cfg80211_get_chan_state()
1036 *chan = wdev->chandef.chan; in cfg80211_get_chan_state()
1039 ret = cfg80211_chandef_dfs_required(wdev->wiphy, in cfg80211_get_chan_state()
1040 &wdev->chandef, in cfg80211_get_chan_state()
1041 wdev->iftype); in cfg80211_get_chan_state()
1044 *radar_detect |= BIT(wdev->chandef.width); in cfg80211_get_chan_state()
1048 if (wdev->mesh_id_len) { in cfg80211_get_chan_state()
1049 *chan = wdev->chandef.chan; in cfg80211_get_chan_state()
1052 ret = cfg80211_chandef_dfs_required(wdev->wiphy, in cfg80211_get_chan_state()
1053 &wdev->chandef, in cfg80211_get_chan_state()
1054 wdev->iftype); in cfg80211_get_chan_state()
1057 *radar_detect |= BIT(wdev->chandef.width); in cfg80211_get_chan_state()
1061 if (wdev->chandef.chan) { in cfg80211_get_chan_state()
1062 *chan = wdev->chandef.chan; in cfg80211_get_chan_state()