Bladeren bron

iwlwifi: fix 11n_disable EEPROM refactoring regression

My commit 26a7ca9a71a ("iwlwifi: refactor EEPROM reading/parsing")
broke the 11n_disable module parameter's BIT(0) to disable all HT
operation (using the other bits to disable aggregation only was
unaffected). Restore this by overriding the SKU when parsing the
EEPROM if the module parameter is set.

Reported-by: Matthijs Kooijman <matthijs@stdin.nl>
Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Johannes Berg 13 jaren geleden
bovenliggende
commit
63d76dc0b9
1 gewijzigde bestanden met toevoegingen van 3 en 0 verwijderingen
  1. 3 0
      drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c

+ 3 - 0
drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c

@@ -853,6 +853,9 @@ iwl_parse_eeprom_data(struct device *dev, const struct iwl_cfg *cfg,
 					     EEPROM_RADIO_CONFIG);
 	data->sku = iwl_eeprom_query16(eeprom, eeprom_size,
 				       EEPROM_SKU_CAP);
+	if (iwlwifi_mod_params.disable_11n & IWL_DISABLE_HT_ALL)
+		data->sku &= ~EEPROM_SKU_CAP_11N_ENABLE;
+
 	data->eeprom_version = iwl_eeprom_query16(eeprom, eeprom_size,
 						  EEPROM_VERSION);