blob: 680e21cc72d72fc4c433002fdab1fd46793cee2e [file] [log] [blame]
developer05f3b2b2024-08-19 19:17:34 +08001From 19524840c953100d64d44763576b75a30377f3bf Mon Sep 17 00:00:00 2001
developer66e89bc2024-04-23 14:50:01 +08002From: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
3Date: Thu, 1 Feb 2024 17:46:49 +0800
developer05f3b2b2024-08-19 19:17:34 +08004Subject: [PATCH 53/89] mtk: mac80211: fix radar required of link issue in
developer66e89bc2024-04-23 14:50:01 +08005 reserve_reassign and reserve_assign
6
7link->radar_required is not updated in
8ieee80211_link_use_reserved_assign & ieee80211_link_use_reserved_reassign
9This will lead to DFS RDD init incomplete (RDD_CAC_START, RDD_CAC_END &
10RDD_DET_MODE is not set to fw)
11
developer66e89bc2024-04-23 14:50:01 +080012Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
developer66e89bc2024-04-23 14:50:01 +080013---
14 net/mac80211/chan.c | 2 ++
15 1 file changed, 2 insertions(+)
16
17diff --git a/net/mac80211/chan.c b/net/mac80211/chan.c
developer05f3b2b2024-08-19 19:17:34 +080018index 608ed52..bdff227 100644
developer66e89bc2024-04-23 14:50:01 +080019--- a/net/mac80211/chan.c
20+++ b/net/mac80211/chan.c
developer05f3b2b2024-08-19 19:17:34 +080021@@ -1337,6 +1337,7 @@ ieee80211_link_use_reserved_reassign(struct ieee80211_link_data *link)
developer66e89bc2024-04-23 14:50:01 +080022 if (link_conf->chanreq.oper.width != link->reserved.oper.width)
23 changed = BSS_CHANGED_BANDWIDTH;
24
25+ link->radar_required = link->reserved_radar_required;
26 ieee80211_link_update_chanreq(link, &link->reserved);
27
28 _ieee80211_change_chanctx(local, new_ctx, old_ctx, chanreq, link);
developer05f3b2b2024-08-19 19:17:34 +080029@@ -1418,6 +1419,7 @@ ieee80211_link_use_reserved_assign(struct ieee80211_link_data *link)
developer66e89bc2024-04-23 14:50:01 +080030 list_del(&link->reserved_chanctx_list);
31 link->reserved_chanctx = NULL;
32
33+ link->radar_required = link->reserved_radar_required;
developer05f3b2b2024-08-19 19:17:34 +080034 err = ieee80211_assign_link_chanctx(link, new_ctx, false);
developer66e89bc2024-04-23 14:50:01 +080035 if (err) {
36 if (ieee80211_chanctx_refcount(local, new_ctx) == 0)
37--
developerdad89a32024-04-29 14:17:17 +0800382.18.0
developer66e89bc2024-04-23 14:50:01 +080039