summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2015-08-28 10:44:20 +0200
committerJohannes Berg <johannes.berg@intel.com>2015-09-04 15:23:22 +0200
commitef9be10c8c999e00b239eec24cf01952a308f8e7 (patch)
tree38a0b11b05d5d8c038e48871e0e23b969fe0cb0b /net
parent52a45f38ca5998db0394e782d137595a82a08b43 (diff)
downloadlinux-ef9be10c8c999e00b239eec24cf01952a308f8e7.tar.gz
linux-ef9be10c8c999e00b239eec24cf01952a308f8e7.tar.bz2
linux-ef9be10c8c999e00b239eec24cf01952a308f8e7.zip
mac80211: reject software RSSI CQM with beacon filtering
When beacon filtering is enabled the mac80211 software implementation for RSSI CQM cannot work as beacons will not be available. Rather than accepting such a configuration without proper effect, reject it. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/cfg.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 685ec13ed7c2..17b1fe961c5d 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -2468,6 +2468,10 @@ static int ieee80211_set_cqm_rssi_config(struct wiphy *wiphy,
rssi_hyst == bss_conf->cqm_rssi_hyst)
return 0;
+ if (sdata->vif.driver_flags & IEEE80211_VIF_BEACON_FILTER &&
+ !(sdata->vif.driver_flags & IEEE80211_VIF_SUPPORTS_CQM_RSSI))
+ return -EOPNOTSUPP;
+
bss_conf->cqm_rssi_thold = rssi_thold;
bss_conf->cqm_rssi_hyst = rssi_hyst;