aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorReinette Chatre <reinette.chatre@intel.com>2009-02-10 18:19:04 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-02-13 13:46:08 -0500
commita89d03c4230beb50756c98d2d1ba036c83da7680 (patch)
tree34cc30f3840f55ccc12431bc0c2429691e3db643 /drivers/net/wireless
parent24566f4a15e2626cfaf2854057b636ef40ee8481 (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.c4
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-eeprom.c8
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-eeprom.h2
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
373struct iwl_eeprom_ops { 375struct 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);