summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c
diff options
context:
space:
mode:
authorJohannes Berg2012-06-19 08:32:49 +0200
committerJohannes Berg2012-06-20 08:41:26 +0200
commit63d76dc0b97230e012a128a898f56a55e763d91a (patch)
tree91eacee1272a86b6e28bb5a65479badbf846b890 /drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c
parentiwlwifi: delay ROC if doing internal reset scan (diff)
downloadkernel-qcow2-linux-63d76dc0b97230e012a128a898f56a55e763d91a.tar.gz
kernel-qcow2-linux-63d76dc0b97230e012a128a898f56a55e763d91a.tar.xz
kernel-qcow2-linux-63d76dc0b97230e012a128a898f56a55e763d91a.zip
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>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c b/drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c
index c87a05cbec12..f10170fe8799 100644
--- a/drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c
+++ b/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);