blob: bb3981b7f6733e2383c7f08e4912b5e01e00bbff [file] [log] [blame]
developer23b6c0f2024-02-23 07:09:37 +08001From 4accf70da3e00dfc1021d751310b4564fb1fad3f Mon Sep 17 00:00:00 2001
developer54752a02023-08-08 19:53:11 +08002From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
3Date: Mon, 7 Aug 2023 19:00:53 +0800
developer5f4e6c32023-12-20 06:12:53 +08004Subject: [PATCH 20/37] mtk: mac80211: avoid calling switch_vif_chanctx when
developer54752a02023-08-08 19:53:11 +08005 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
developer83ad30d2023-09-12 17:28:06 +080013index 6895275..96f1ad0 100644
developer54752a02023-08-08 19:53:11 +080014--- a/net/mac80211/chan.c
15+++ b/net/mac80211/chan.c
developer83ad30d2023-09-12 17:28:06 +080016@@ -1304,13 +1304,15 @@ ieee80211_link_use_reserved_reassign(struct ieee80211_link_data *link)
developer54752a02023-08-08 19:53:11 +080017 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--
developer5f4e6c32023-12-20 06:12:53 +0800392.18.0
developer54752a02023-08-08 19:53:11 +080040