diff options
author | Reinette Chatre <reinette.chatre@intel.com> | 2009-02-10 18:19:04 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-02-13 13:46:08 -0500 |
commit | a89d03c4230beb50756c98d2d1ba036c83da7680 (patch) | |
tree | 34cc30f3840f55ccc12431bc0c2429691e3db643 /drivers/net/wireless | |
parent | 24566f4a15e2626cfaf2854057b636ef40ee8481 (diff) |
iwlwifi: fix FAT channel config for 5000 series
The test to find out if we have FAT channels do not consider that
the value of regulatory_bands for the 5000 series is larger than its
eeprom size. Using the eeprom size is strange in itself.
Use a new EEPROM_REGULATORY_BAND_NO_FAT to indicate no FAT support
and test for that explicitly.
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Acked-by: Samuel Ortiz <samuel.ortiz@intel.com>
Tested-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-eeprom.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-eeprom.h | 2 |
3 files changed, 8 insertions, 6 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c index d2df4945ca6a..d49e48b9b037 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.c +++ b/drivers/net/wireless/iwlwifi/iwl-3945.c | |||
@@ -2738,8 +2738,8 @@ static struct iwl_lib_ops iwl3945_lib = { | |||
2738 | EEPROM_REGULATORY_BAND_3_CHANNELS, | 2738 | EEPROM_REGULATORY_BAND_3_CHANNELS, |
2739 | EEPROM_REGULATORY_BAND_4_CHANNELS, | 2739 | EEPROM_REGULATORY_BAND_4_CHANNELS, |
2740 | EEPROM_REGULATORY_BAND_5_CHANNELS, | 2740 | EEPROM_REGULATORY_BAND_5_CHANNELS, |
2741 | IWL3945_EEPROM_IMG_SIZE, | 2741 | EEPROM_REGULATORY_BAND_NO_FAT, |
2742 | IWL3945_EEPROM_IMG_SIZE, | 2742 | EEPROM_REGULATORY_BAND_NO_FAT, |
2743 | }, | 2743 | }, |
2744 | .verify_signature = iwlcore_eeprom_verify_signature, | 2744 | .verify_signature = iwlcore_eeprom_verify_signature, |
2745 | .acquire_semaphore = iwl3945_eeprom_acquire_semaphore, | 2745 | .acquire_semaphore = iwl3945_eeprom_acquire_semaphore, |
diff --git a/drivers/net/wireless/iwlwifi/iwl-eeprom.c b/drivers/net/wireless/iwlwifi/iwl-eeprom.c index d1d1d9bcfeae..75517d05df08 100644 --- a/drivers/net/wireless/iwlwifi/iwl-eeprom.c +++ b/drivers/net/wireless/iwlwifi/iwl-eeprom.c | |||
@@ -532,10 +532,10 @@ int iwl_init_channel_map(struct iwl_priv *priv) | |||
532 | } | 532 | } |
533 | 533 | ||
534 | /* Check if we do have FAT channels */ | 534 | /* Check if we do have FAT channels */ |
535 | if (priv->cfg->ops->lib->eeprom_ops.regulatory_bands[5] >= | 535 | if (priv->cfg->ops->lib->eeprom_ops.regulatory_bands[5] == |
536 | priv->cfg->eeprom_size && | 536 | EEPROM_REGULATORY_BAND_NO_FAT && |
537 | priv->cfg->ops->lib->eeprom_ops.regulatory_bands[6] >= | 537 | priv->cfg->ops->lib->eeprom_ops.regulatory_bands[6] == |
538 | priv->cfg->eeprom_size) | 538 | EEPROM_REGULATORY_BAND_NO_FAT) |
539 | return 0; | 539 | return 0; |
540 | 540 | ||
541 | /* Two additional EEPROM bands for 2.4 and 5 GHz FAT channels */ | 541 | /* Two additional EEPROM bands for 2.4 and 5 GHz FAT channels */ |
diff --git a/drivers/net/wireless/iwlwifi/iwl-eeprom.h b/drivers/net/wireless/iwlwifi/iwl-eeprom.h index 17fed49f9d96..3479153d96ca 100644 --- a/drivers/net/wireless/iwlwifi/iwl-eeprom.h +++ b/drivers/net/wireless/iwlwifi/iwl-eeprom.h | |||
@@ -370,6 +370,8 @@ struct iwl_eeprom_calib_info { | |||
370 | */ | 370 | */ |
371 | #define EEPROM_4965_REGULATORY_BAND_52_FAT_CHANNELS (2*0xA8) /* 22 bytes */ | 371 | #define EEPROM_4965_REGULATORY_BAND_52_FAT_CHANNELS (2*0xA8) /* 22 bytes */ |
372 | 372 | ||
373 | #define EEPROM_REGULATORY_BAND_NO_FAT (0) | ||
374 | |||
373 | struct iwl_eeprom_ops { | 375 | struct iwl_eeprom_ops { |
374 | const u32 regulatory_bands[7]; | 376 | const u32 regulatory_bands[7]; |
375 | int (*verify_signature) (struct iwl_priv *priv); | 377 | int (*verify_signature) (struct iwl_priv *priv); |