blob: d9fcacfaab8af26f410c831f053fa81c58ed9abf [file] [log] [blame]
developer54752a02023-08-08 19:53:11 +08001From d5104c3407f3f1d476d072a8242ba40cc96ae566 Mon Sep 17 00:00:00 2001
2From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
3Date: Mon, 7 Aug 2023 19:00:53 +0800
4Subject: [PATCH] mac80211: mtk: avoid calling switch_vif_chanctx when
5 use_chanctx is false
6
7Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
8---
9 net/mac80211/chan.c | 14 ++++++++------
10 1 file changed, 8 insertions(+), 6 deletions(-)
11
12diff --git a/net/mac80211/chan.c b/net/mac80211/chan.c
13index dbc34fb..f9d1a8a 100644
14--- a/net/mac80211/chan.c
15+++ b/net/mac80211/chan.c
16@@ -1280,13 +1280,15 @@ ieee80211_link_use_reserved_reassign(struct ieee80211_link_data *link)
17 list_del(&link->reserved_chanctx_list);
18 link->reserved_chanctx = NULL;
19
20- err = drv_switch_vif_chanctx(local, vif_chsw, 1,
21- CHANCTX_SWMODE_REASSIGN_VIF);
22- if (err) {
23- if (ieee80211_chanctx_refcount(local, new_ctx) == 0)
24- ieee80211_free_chanctx(local, new_ctx);
25+ if (local->use_chanctx) {
26+ err = drv_switch_vif_chanctx(local, vif_chsw, 1,
27+ CHANCTX_SWMODE_REASSIGN_VIF);
28+ if (err) {
29+ if (ieee80211_chanctx_refcount(local, new_ctx) == 0)
30+ ieee80211_free_chanctx(local, new_ctx);
31
32- goto out;
33+ goto out;
34+ }
35 }
36
37 list_move(&link->assigned_chanctx_list, &new_ctx->assigned_links);
38--
392.18.0
40