diff --git a/net/wireless/util.c b/net/wireless/util.c
index ec17c28001172987a5d8bc49bdcde43634165fee..78bf53705466e61422f3f161c178ad81e8b06436 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;