On Sat, 2022-03-19 at 06:18 +0800, Ryder Lee wrote: > We observe that the condition of chanctx could not be back to > IEEE80211_CHANCTX_REPLACE_NONE occasionally while STA connection. Not sure I parse this correctly, can you elaborate? > In this case the state could be IEEE80211_CHANCTX_REPLACE_OTHER, which > fails the check and then creates another chanctx that leads to the next > round of chan_switch failure in cfg80211_check_combinations(). But if it's REPLACES_OTHER (note your typo), then it's not yet registered properly or anything. > So, modify state to just rule out IEEE80211_CHANCTX_WILL_BE_REPLACED. Therefore, that really doesn't seem right. A chanctx with IEEE80211_CHANCTX_REPLACES_OTHER needs to get used via ieee80211_vif_use_reserved_switch(). johannes