summary refs log tree commit diff
path: root/net/wireless/util.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2016-10-21 12:15:00 +0200
committerJohannes Berg <johannes.berg@intel.com>2016-10-27 09:08:44 +0200
commit0507a3ac6e98f50583912ec78d07c2e4daaf2b28 (patch)
tree3fdfc0e83014705d3a3a1787d8e6675b358339ea /net/wireless/util.c
parent73c7da3dae1e7cd8febeab13767b2698b84dfa15 (diff)
downloadlinux-0507a3ac6e98f50583912ec78d07c2e4daaf2b28.tar.gz
cfg80211: fix beacon interval in interface combination iteration
We shouldn't abort the iteration with an error when one of the
potential combinations can't accomodate the beacon interval
request, we should just skip that particular combination. Fix
the code to do so.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/util.c')
-rw-r--r--net/wireless/util.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/net/wireless/util.c b/net/wireless/util.c
index ec17c2800117..78bf53705466 100644
--- a/net/wireless/util.c
+++ b/net/wireless/util.c
@@ -1676,10 +1676,8 @@ int cfg80211_iter_combinations(struct wiphy *wiphy,
 
 		if (params->beacon_int_gcd) {
 			if (c->beacon_int_min_gcd &&
-			    params->beacon_int_gcd < c->beacon_int_min_gcd) {
-				kfree(limits);
-				return -EINVAL;
-			}
+			    params->beacon_int_gcd < c->beacon_int_min_gcd)
+				goto cont;
 			if (!c->beacon_int_min_gcd &&
 			    params->beacon_int_different)
 				goto cont;