cfg80211: Fix dfs state propagation for non-DFS center channel
authorVasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com>
Tue, 18 Apr 2017 12:09:19 +0000 (17:39 +0530)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 25 Apr 2017 19:42:52 +0000 (21:42 +0200)
When part of a bigger bandwidth (160 MHz) channel falls in DFS
channel range it is possible that the  center frequency may not
necessarily be a radar channel. Remove the sanity check on channel
flag for IEEE80211_CHAN_RADAR in regulatory_propagate_dfs_state(),
this should fix the dfs state propagation for non-DFS center freq
which has DFS channels in it's bandwidth, should also fix unnecessary
WARN_ON() spam in regulatory_propagate_dfs_state().

Fixes: 8976672736d6 ("cfg80211: Share Channel DFS state across wiphys of same DFS domain")
Reported-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Vasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/reg.c

index a38f315819cd55084c16115640c187c13ecd4ac7..5fae296a6a583256f9874319dfaa9ee87e977fff 100644 (file)
@@ -3244,9 +3244,6 @@ void regulatory_propagate_dfs_state(struct wiphy *wiphy,
        if (WARN_ON(!cfg80211_chandef_valid(chandef)))
                return;
 
-       if (WARN_ON(!(chandef->chan->flags & IEEE80211_CHAN_RADAR)))
-               return;
-
        list_for_each_entry(rdev, &cfg80211_rdev_list, list) {
                if (wiphy == &rdev->wiphy)
                        continue;