[PATCH] mac80211: adjust the replace_state of ieee80211_find_chanctx()
Ryder Lee
ryder.lee at mediatek.com
Fri Mar 18 15:18:10 PDT 2022
We observe that the condition of chanctx could not be back to
IEEE80211_CHANCTX_REPLACE_NONE occasionally while STA connection.
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().
So, modify state to just rule out IEEE80211_CHANCTX_WILL_BE_REPLACED.
Signed-off-by: Ryder Lee <ryder.lee at mediatek.com>
---
net/mac80211/chan.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/mac80211/chan.c b/net/mac80211/chan.c
index e26d42de14ec..604095ff7a5b 100644
--- a/net/mac80211/chan.c
+++ b/net/mac80211/chan.c
@@ -477,7 +477,7 @@ ieee80211_find_chanctx(struct ieee80211_local *local,
list_for_each_entry(ctx, &local->chanctx_list, list) {
const struct cfg80211_chan_def *compat;
- if (ctx->replace_state != IEEE80211_CHANCTX_REPLACE_NONE)
+ if (ctx->replace_state == IEEE80211_CHANCTX_WILL_BE_REPLACED)
continue;
if (ctx->mode == IEEE80211_CHANCTX_EXCLUSIVE)
--
2.29.2
More information about the Linux-mediatek
mailing list