Lines Matching defs:sdata
97 struct ieee80211_sub_if_data *sdata;
150 list_for_each_entry_rcu(sdata, &local->interfaces, list) {
151 if (!rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf))
153 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
155 if (sdata->vif.bss_conf.txpower == INT_MIN)
157 power = min(power, sdata->vif.bss_conf.txpower);
211 void ieee80211_bss_info_change_notify(struct ieee80211_sub_if_data *sdata,
214 struct ieee80211_local *local = sdata->local;
218 if (!changed || sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
223 sdata->vif.type != NL80211_IFTYPE_AP &&
224 sdata->vif.type != NL80211_IFTYPE_ADHOC &&
225 sdata->vif.type != NL80211_IFTYPE_MESH_POINT &&
226 sdata->vif.type != NL80211_IFTYPE_OCB))
229 if (WARN_ON_ONCE(sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE ||
230 sdata->vif.type == NL80211_IFTYPE_NAN ||
231 (sdata->vif.type == NL80211_IFTYPE_MONITOR &&
232 !sdata->vif.bss_conf.mu_mimo_owner &&
236 if (!check_sdata_in_driver(sdata))
242 trace_drv_vif_cfg_changed(local, sdata, changed);
244 local->ops->vif_cfg_changed(&local->hw, &sdata->vif, ch);
251 trace_drv_link_info_changed(local, sdata, &sdata->vif.bss_conf,
254 local->ops->link_info_changed(&local->hw, &sdata->vif,
255 &sdata->vif.bss_conf, ch);
259 local->ops->bss_info_changed(&local->hw, &sdata->vif,
260 &sdata->vif.bss_conf, changed);
264 void ieee80211_vif_cfg_change_notify(struct ieee80211_sub_if_data *sdata,
267 struct ieee80211_local *local = sdata->local;
271 if (!changed || sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
274 drv_vif_cfg_changed(local, sdata, changed);
277 void ieee80211_link_info_change_notify(struct ieee80211_sub_if_data *sdata,
281 struct ieee80211_local *local = sdata->local;
285 if (!changed || sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
288 if (!check_sdata_in_driver(sdata))
291 drv_link_info_changed(local, sdata, link->conf, link->link_id, changed);
294 u64 ieee80211_reset_erp_info(struct ieee80211_sub_if_data *sdata)
296 sdata->vif.bss_conf.use_cts_prot = false;
297 sdata->vif.bss_conf.use_short_preamble = false;
298 sdata->vif.bss_conf.use_short_slot = false;
335 struct ieee80211_sub_if_data *sdata;
347 list_for_each_entry(sdata, &local->interfaces, list) {
356 if (sdata->vif.type == NL80211_IFTYPE_STATION) {
365 &sdata->u.mgd.csa_connection_drop_work);
366 if (sdata->vif.bss_conf.csa_active) {
367 sdata_lock(sdata);
368 ieee80211_sta_connection_lost(sdata,
371 sdata_unlock(sdata);
374 flush_delayed_work(&sdata->dec_tailroom_needed_wk);
430 struct ieee80211_sub_if_data *sdata;
442 sdata = IEEE80211_DEV_TO_SUB_IF(ndev);
443 vif_cfg = &sdata->vif.cfg;
446 if (sdata->vif.type != NL80211_IFTYPE_STATION)
449 idev = __in_dev_get_rtnl(sdata->dev);
453 ifmgd = &sdata->u.mgd;
454 sdata_lock(sdata);
469 ieee80211_vif_cfg_change_notify(sdata, BSS_CHANGED_ARP_FILTER);
471 sdata_unlock(sdata);
487 struct ieee80211_sub_if_data *sdata;
493 sdata = IEEE80211_DEV_TO_SUB_IF(ndev);
499 if (sdata->vif.type != NL80211_IFTYPE_STATION)
502 drv_ipv6_addr_change(local, sdata, idev);