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 <[email protected]>
Acked-by: Samuel Ortiz <[email protected]>
Tested-by: Johannes Berg <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
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,
}
/* 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 */
*/
#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);