summaryrefslogtreecommitdiffstats
path: root/net/wireless
diff options
context:
space:
mode:
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/nl80211.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index ab0c687d0c44..dd249ec9f228 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -6715,8 +6715,17 @@ nl80211_check_scan_flags(struct wiphy *wiphy, struct wireless_dev *wdev,
6715 6715
6716 *flags = nla_get_u32(attrs[NL80211_ATTR_SCAN_FLAGS]); 6716 *flags = nla_get_u32(attrs[NL80211_ATTR_SCAN_FLAGS]);
6717 6717
6718 if ((*flags & NL80211_SCAN_FLAG_LOW_PRIORITY) && 6718 if (((*flags & NL80211_SCAN_FLAG_LOW_PRIORITY) &&
6719 !(wiphy->features & NL80211_FEATURE_LOW_PRIORITY_SCAN)) 6719 !(wiphy->features & NL80211_FEATURE_LOW_PRIORITY_SCAN)) ||
6720 ((*flags & NL80211_SCAN_FLAG_LOW_SPAN) &&
6721 !wiphy_ext_feature_isset(wiphy,
6722 NL80211_EXT_FEATURE_LOW_SPAN_SCAN)) ||
6723 ((*flags & NL80211_SCAN_FLAG_LOW_POWER) &&
6724 !wiphy_ext_feature_isset(wiphy,
6725 NL80211_EXT_FEATURE_LOW_POWER_SCAN)) ||
6726 ((*flags & NL80211_SCAN_FLAG_HIGH_ACCURACY) &&
6727 !wiphy_ext_feature_isset(wiphy,
6728 NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN)))
6720 return -EOPNOTSUPP; 6729 return -EOPNOTSUPP;
6721 6730
6722 if (*flags & NL80211_SCAN_FLAG_RANDOM_ADDR) { 6731 if (*flags & NL80211_SCAN_FLAG_RANDOM_ADDR) {