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>
This commit is contained in:
Родитель
24566f4a15
Коммит
a89d03c423
|
@ -2738,8 +2738,8 @@ static struct iwl_lib_ops iwl3945_lib = {
|
|||
EEPROM_REGULATORY_BAND_3_CHANNELS,
|
||||
EEPROM_REGULATORY_BAND_4_CHANNELS,
|
||||
EEPROM_REGULATORY_BAND_5_CHANNELS,
|
||||
IWL3945_EEPROM_IMG_SIZE,
|
||||
IWL3945_EEPROM_IMG_SIZE,
|
||||
EEPROM_REGULATORY_BAND_NO_FAT,
|
||||
EEPROM_REGULATORY_BAND_NO_FAT,
|
||||
},
|
||||
.verify_signature = iwlcore_eeprom_verify_signature,
|
||||
.acquire_semaphore = iwl3945_eeprom_acquire_semaphore,
|
||||
|
|
|
@ -532,10 +532,10 @@ int iwl_init_channel_map(struct iwl_priv *priv)
|
|||
}
|
||||
|
||||
/* Check if we do have FAT channels */
|
||||
if (priv->cfg->ops->lib->eeprom_ops.regulatory_bands[5] >=
|
||||
priv->cfg->eeprom_size &&
|
||||
priv->cfg->ops->lib->eeprom_ops.regulatory_bands[6] >=
|
||||
priv->cfg->eeprom_size)
|
||||
if (priv->cfg->ops->lib->eeprom_ops.regulatory_bands[5] ==
|
||||
EEPROM_REGULATORY_BAND_NO_FAT &&
|
||||
priv->cfg->ops->lib->eeprom_ops.regulatory_bands[6] ==
|
||||
EEPROM_REGULATORY_BAND_NO_FAT)
|
||||
return 0;
|
||||
|
||||
/* Two additional EEPROM bands for 2.4 and 5 GHz FAT channels */
|
||||
|
|
|
@ -370,6 +370,8 @@ struct iwl_eeprom_calib_info {
|
|||
*/
|
||||
#define EEPROM_4965_REGULATORY_BAND_52_FAT_CHANNELS (2*0xA8) /* 22 bytes */
|
||||
|
||||
#define EEPROM_REGULATORY_BAND_NO_FAT (0)
|
||||
|
||||
struct iwl_eeprom_ops {
|
||||
const u32 regulatory_bands[7];
|
||||
int (*verify_signature) (struct iwl_priv *priv);
|
||||
|
|
Загрузка…
Ссылка в новой задаче