Lines Matching refs:wdev

597 bool cfg80211_beaconing_iface_active(struct wireless_dev *wdev)  in cfg80211_beaconing_iface_active()  argument
601 ASSERT_WDEV_LOCK(wdev); in cfg80211_beaconing_iface_active()
603 if (!wdev->chandef.chan) in cfg80211_beaconing_iface_active()
606 switch (wdev->iftype) { in cfg80211_beaconing_iface_active()
609 active = wdev->beacon_interval != 0; in cfg80211_beaconing_iface_active()
612 active = wdev->ssid_len != 0; in cfg80211_beaconing_iface_active()
615 active = wdev->mesh_id_len != 0; in cfg80211_beaconing_iface_active()
638 struct wireless_dev *wdev; in cfg80211_is_wiphy_oper_chan() local
640 list_for_each_entry(wdev, &wiphy->wdev_list, list) { in cfg80211_is_wiphy_oper_chan()
641 wdev_lock(wdev); in cfg80211_is_wiphy_oper_chan()
642 if (!cfg80211_beaconing_iface_active(wdev)) { in cfg80211_is_wiphy_oper_chan()
643 wdev_unlock(wdev); in cfg80211_is_wiphy_oper_chan()
647 if (cfg80211_is_sub_chan(&wdev->chandef, chan)) { in cfg80211_is_wiphy_oper_chan()
648 wdev_unlock(wdev); in cfg80211_is_wiphy_oper_chan()
651 wdev_unlock(wdev); in cfg80211_is_wiphy_oper_chan()
1003 struct wireless_dev *wdev; in cfg80211_ir_permissive_chan() local
1032 list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) { in cfg80211_ir_permissive_chan()
1036 wdev_lock(wdev); in cfg80211_ir_permissive_chan()
1037 if (wdev->iftype == NL80211_IFTYPE_STATION && in cfg80211_ir_permissive_chan()
1038 wdev->current_bss) in cfg80211_ir_permissive_chan()
1039 other_chan = wdev->current_bss->pub.channel; in cfg80211_ir_permissive_chan()
1049 wdev->iftype == NL80211_IFTYPE_P2P_GO && in cfg80211_ir_permissive_chan()
1050 wdev->beacon_interval && in cfg80211_ir_permissive_chan()
1052 other_chan = wdev->chandef.chan; in cfg80211_ir_permissive_chan()
1053 wdev_unlock(wdev); in cfg80211_ir_permissive_chan()
1158 cfg80211_get_chan_state(struct wireless_dev *wdev, in cfg80211_get_chan_state() argument
1168 ASSERT_WDEV_LOCK(wdev); in cfg80211_get_chan_state()
1170 if (wdev->netdev && !netif_running(wdev->netdev)) in cfg80211_get_chan_state()
1173 switch (wdev->iftype) { in cfg80211_get_chan_state()
1175 if (wdev->current_bss) { in cfg80211_get_chan_state()
1176 *chan = wdev->current_bss->pub.channel; in cfg80211_get_chan_state()
1177 *chanmode = (wdev->ibss_fixed && in cfg80211_get_chan_state()
1178 !wdev->ibss_dfs_possible) in cfg80211_get_chan_state()
1184 if (wdev->ibss_dfs_possible) in cfg80211_get_chan_state()
1185 *radar_detect |= BIT(wdev->chandef.width); in cfg80211_get_chan_state()
1191 if (wdev->current_bss) { in cfg80211_get_chan_state()
1192 *chan = wdev->current_bss->pub.channel; in cfg80211_get_chan_state()
1199 if (wdev->cac_started) { in cfg80211_get_chan_state()
1200 *chan = wdev->chandef.chan; in cfg80211_get_chan_state()
1202 *radar_detect |= BIT(wdev->chandef.width); in cfg80211_get_chan_state()
1203 } else if (wdev->beacon_interval) { in cfg80211_get_chan_state()
1204 *chan = wdev->chandef.chan; in cfg80211_get_chan_state()
1207 ret = cfg80211_chandef_dfs_required(wdev->wiphy, in cfg80211_get_chan_state()
1208 &wdev->chandef, in cfg80211_get_chan_state()
1209 wdev->iftype); in cfg80211_get_chan_state()
1212 *radar_detect |= BIT(wdev->chandef.width); in cfg80211_get_chan_state()
1216 if (wdev->mesh_id_len) { in cfg80211_get_chan_state()
1217 *chan = wdev->chandef.chan; in cfg80211_get_chan_state()
1220 ret = cfg80211_chandef_dfs_required(wdev->wiphy, in cfg80211_get_chan_state()
1221 &wdev->chandef, in cfg80211_get_chan_state()
1222 wdev->iftype); in cfg80211_get_chan_state()
1225 *radar_detect |= BIT(wdev->chandef.width); in cfg80211_get_chan_state()
1229 if (wdev->chandef.chan) { in cfg80211_get_chan_state()
1230 *chan = wdev->chandef.chan; in cfg80211_get_chan_state()