소스 검색

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 년 전
부모
커밋
63d76dc0b9
1개의 변경된 파일3개의 추가작업 그리고 0개의 파일을 삭제
  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);