Lines Matching refs:new_ctx
886 struct ieee80211_chanctx *new_ctx, in ieee80211_assign_link_chanctx() argument
910 if (new_ctx) { in ieee80211_assign_link_chanctx()
912 ieee80211_recalc_chanctx_min_def(local, new_ctx, link, false); in ieee80211_assign_link_chanctx()
914 ret = drv_assign_vif_chanctx(local, sdata, link->conf, new_ctx); in ieee80211_assign_link_chanctx()
921 conf = &new_ctx->conf; in ieee80211_assign_link_chanctx()
924 &new_ctx->assigned_links); in ieee80211_assign_link_chanctx()
939 if (new_ctx && ieee80211_chanctx_num_assigned(local, new_ctx) > 0) { in ieee80211_assign_link_chanctx()
941 ieee80211_recalc_chanctx_min_def(local, new_ctx, NULL, false); in ieee80211_assign_link_chanctx()
1141 struct ieee80211_chanctx *new_ctx, *ctx; in ieee80211_replace_chanctx() local
1193 new_ctx = ieee80211_alloc_chanctx(local, chanreq, mode, -1); in ieee80211_replace_chanctx()
1194 if (!new_ctx) in ieee80211_replace_chanctx()
1197 new_ctx->replace_ctx = curr_ctx; in ieee80211_replace_chanctx()
1198 new_ctx->replace_state = IEEE80211_CHANCTX_REPLACES_OTHER; in ieee80211_replace_chanctx()
1200 curr_ctx->replace_ctx = new_ctx; in ieee80211_replace_chanctx()
1203 list_add_rcu(&new_ctx->list, &local->chanctx_list); in ieee80211_replace_chanctx()
1205 return new_ctx; in ieee80211_replace_chanctx()
1246 struct ieee80211_chanctx *new_ctx, *curr_ctx; in ieee80211_link_reserve_chanctx() local
1255 new_ctx = ieee80211_find_reservation_chanctx(local, chanreq, mode); in ieee80211_link_reserve_chanctx()
1256 if (!new_ctx) { in ieee80211_link_reserve_chanctx()
1261 new_ctx = ieee80211_new_chanctx(local, chanreq, mode, in ieee80211_link_reserve_chanctx()
1264 new_ctx = ieee80211_replace_chanctx(local, chanreq, in ieee80211_link_reserve_chanctx()
1266 if (IS_ERR(new_ctx)) in ieee80211_link_reserve_chanctx()
1267 return PTR_ERR(new_ctx); in ieee80211_link_reserve_chanctx()
1270 list_add(&link->reserved_chanctx_list, &new_ctx->reserved_links); in ieee80211_link_reserve_chanctx()
1271 link->reserved_chanctx = new_ctx; in ieee80211_link_reserve_chanctx()
1342 struct ieee80211_chanctx *old_ctx, *new_ctx; in ieee80211_link_use_reserved_reassign() local
1350 new_ctx = link->reserved_chanctx; in ieee80211_link_use_reserved_reassign()
1356 if (WARN_ON(!new_ctx)) in ieee80211_link_use_reserved_reassign()
1362 if (WARN_ON(new_ctx->replace_state == in ieee80211_link_use_reserved_reassign()
1366 chanreq = ieee80211_chanctx_non_reserved_chandef(local, new_ctx, in ieee80211_link_use_reserved_reassign()
1377 _ieee80211_change_chanctx(local, new_ctx, old_ctx, chanreq, link); in ieee80211_link_use_reserved_reassign()
1381 vif_chsw[0].new_ctx = &new_ctx->conf; in ieee80211_link_use_reserved_reassign()
1390 if (ieee80211_chanctx_refcount(local, new_ctx) == 0) in ieee80211_link_use_reserved_reassign()
1391 ieee80211_free_chanctx(local, new_ctx, false); in ieee80211_link_use_reserved_reassign()
1397 list_move(&link->assigned_chanctx_list, &new_ctx->assigned_links); in ieee80211_link_use_reserved_reassign()
1398 rcu_assign_pointer(link_conf->chanctx_conf, &new_ctx->conf); in ieee80211_link_use_reserved_reassign()
1408 ieee80211_recalc_chanctx_min_def(local, new_ctx, NULL, false); in ieee80211_link_use_reserved_reassign()
1409 ieee80211_recalc_smps_chanctx(local, new_ctx); in ieee80211_link_use_reserved_reassign()
1410 ieee80211_recalc_radar_chanctx(local, new_ctx); in ieee80211_link_use_reserved_reassign()
1425 struct ieee80211_chanctx *old_ctx, *new_ctx; in ieee80211_link_use_reserved_assign() local
1431 new_ctx = link->reserved_chanctx; in ieee80211_link_use_reserved_assign()
1439 if (WARN_ON(!new_ctx)) in ieee80211_link_use_reserved_assign()
1442 if (WARN_ON(new_ctx->replace_state == in ieee80211_link_use_reserved_assign()
1446 chanreq = ieee80211_chanctx_non_reserved_chandef(local, new_ctx, in ieee80211_link_use_reserved_assign()
1452 ieee80211_change_chanctx(local, new_ctx, new_ctx, chanreq); in ieee80211_link_use_reserved_assign()
1457 err = ieee80211_assign_link_chanctx(link, new_ctx, false); in ieee80211_link_use_reserved_assign()
1459 if (ieee80211_chanctx_refcount(local, new_ctx) == 0) in ieee80211_link_use_reserved_assign()
1460 ieee80211_free_chanctx(local, new_ctx, false); in ieee80211_link_use_reserved_assign()
1474 struct ieee80211_chanctx *old_ctx, *new_ctx; in ieee80211_link_has_in_place_reservation() local
1478 new_ctx = link->reserved_chanctx; in ieee80211_link_has_in_place_reservation()
1484 if (WARN_ON(!new_ctx)) in ieee80211_link_has_in_place_reservation()
1490 if (new_ctx->replace_state != IEEE80211_CHANCTX_REPLACES_OTHER) in ieee80211_link_has_in_place_reservation()
1528 vif_chsw[i].new_ctx = &ctx->conf; in ieee80211_chsw_switch_vifs()
1975 struct ieee80211_chanctx *new_ctx; in ieee80211_link_use_reserved_context() local
1981 new_ctx = link->reserved_chanctx; in ieee80211_link_use_reserved_context()
1984 if (WARN_ON(!new_ctx)) in ieee80211_link_use_reserved_context()
1987 if (WARN_ON(new_ctx->replace_state == in ieee80211_link_use_reserved_context()
1996 if (new_ctx->replace_state == IEEE80211_CHANCTX_REPLACE_NONE) { in ieee80211_link_use_reserved_context()
2016 new_ctx->replace_state == IEEE80211_CHANCTX_REPLACES_OTHER) { in ieee80211_link_use_reserved_context()
2019 if (new_ctx->replace_state == in ieee80211_link_use_reserved_context()