iwlwifi: change email contact information
[deliverable/linux.git] / drivers / net / wireless / iwlwifi / iwl-eeprom.c
index 37155755efc596bb51d3dc395374bf40a533b086..a47fa38e52f03ad76615e37ce8d3c009ead3f6a1 100644 (file)
@@ -25,7 +25,7 @@
  * in the file called LICENSE.GPL.
  *
  * Contact Information:
- * Tomas Winkler <tomas.winkler@intel.com>
+ *  Intel Linux Wireless <ilw@linux.intel.com>
  * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
  *
  * BSD LICENSE
@@ -169,10 +169,9 @@ int iwlcore_eeprom_acquire_semaphore(struct iwl_priv *priv)
                            CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM);
 
                /* See if we got it */
-               ret = iwl_poll_bit(priv, CSR_HW_IF_CONFIG_REG,
-                                  CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM,
-                                  CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM,
-                                  EEPROM_SEM_TIMEOUT);
+               ret = iwl_poll_direct_bit(priv, CSR_HW_IF_CONFIG_REG,
+                               CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM,
+                               EEPROM_SEM_TIMEOUT);
                if (ret >= 0) {
                        IWL_DEBUG_IO("Acquired semaphore after %d tries.\n",
                                count+1);
@@ -279,7 +278,23 @@ EXPORT_SYMBOL(iwl_eeprom_free);
 
 int iwl_eeprom_check_version(struct iwl_priv *priv)
 {
-       return priv->cfg->ops->lib->eeprom_ops.check_version(priv);
+       u16 eeprom_ver;
+       u16 calib_ver;
+
+       eeprom_ver = iwl_eeprom_query16(priv, EEPROM_VERSION);
+       calib_ver = priv->cfg->ops->lib->eeprom_ops.calib_version(priv);
+
+       if (eeprom_ver < priv->cfg->eeprom_ver ||
+           calib_ver < priv->cfg->eeprom_calib_ver)
+               goto err;
+
+       return 0;
+err:
+       IWL_ERROR("Unsupported EEPROM VER=0x%x < 0x%x CALIB=0x%x < 0x%x\n",
+                 eeprom_ver, priv->cfg->eeprom_ver,
+                 calib_ver,  priv->cfg->eeprom_calib_ver);
+       return -EINVAL;
+
 }
 EXPORT_SYMBOL(iwl_eeprom_check_version);
 
This page took 0.026246 seconds and 5 git commands to generate.