Blob Blame History Raw
From d34990bbc25559fa1af5e23759c65a3951cbc956 Mon Sep 17 00:00:00 2001
From: Michael Vassernis <michael.vassernis@tandemg.com>
Date: Mon, 29 Jul 2019 06:01:16 +0000
Subject: [PATCH] cfg80211: fix dfs channels remain DFS_AVAILABLE after ch_switch
Git-commit: d34990bbc25559fa1af5e23759c65a3951cbc956
Patch-mainline: v5.4-rc1
References: jsc#SLE-13430

Depending on the regulatory domain, leaving a DFS channel requires
a new CAC to be performed when returning back to that channel.
If needed, update dfs states after a driver channel switch.

Signed-off-by: Michael Vassernis <michael.vassernis@tandemg.com>
Link: https://lore.kernel.org/r/20190729060024.5660-1-michael.vassernis@tandemg.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Takashi Iwai <tiwai@suse.de>

---
 net/wireless/nl80211.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index a8d4b2b6b3ec..08a66c1bcb83 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -16118,6 +16118,8 @@ void cfg80211_ch_switch_notify(struct net_device *dev,
 	    !WARN_ON(!wdev->current_bss))
 		cfg80211_update_assoc_bss_entry(wdev, chandef->chan);
 
+	cfg80211_sched_dfs_chan_update(rdev);
+
 	nl80211_ch_switch_notify(rdev, dev, chandef, GFP_KERNEL,
 				 NL80211_CMD_CH_SWITCH_NOTIFY, 0);
 }
-- 
2.16.4