iwlwifi: do not fail on large amount of channels
authorShaul Triebitz <shaul.triebitz@intel.com>
Sun, 23 Dec 2018 11:09:50 +0000 (13:09 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Thu, 14 Feb 2019 09:29:45 +0000 (11:29 +0200)
Until supporting UHB (ultra high band) channels for
devices AX210, do not fail if number of channels reported
by firmware is greater than NL80211_MAX_SUPP_REG_RULES.
The Driver in that case will use only the non-UHB channels.

Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c

index 484ef45..503860a 100644 (file)
@@ -1102,12 +1102,12 @@ iwl_parse_nvm_mcc_info(struct device *dev, const struct iwl_cfg *cfg,
        int max_num_ch = cfg->nvm_type == IWL_NVM_EXT ?
                         IWL_NVM_NUM_CHANNELS_EXT : IWL_NVM_NUM_CHANNELS;
 
-       if (WARN_ON_ONCE(num_of_ch > NL80211_MAX_SUPP_REG_RULES))
-               return ERR_PTR(-EINVAL);
-
        if (WARN_ON(num_of_ch > max_num_ch))
                num_of_ch = max_num_ch;
 
+       if (WARN_ON_ONCE(num_of_ch > NL80211_MAX_SUPP_REG_RULES))
+               return ERR_PTR(-EINVAL);
+
        IWL_DEBUG_DEV(dev, IWL_DL_LAR, "building regdom for %d channels\n",
                      num_of_ch);