iwlwifi: separate the APM from the EEPROM
There is no link between the two. Ensure that the NIC is on outside
the code of the EEPROM handling.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 9d9185f..f3bd6a3 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -1848,8 +1848,12 @@
/*****************
* 4. Read EEPROM
*****************/
+ /* switch the NIC on before accessing the EEPROM */
+ iwl_apm_init(priv);
/* Read the EEPROM */
err = iwl_eeprom_init(priv, hw_rev);
+ /* Reset chip to save power until we load uCode during "up". */
+ iwl_apm_stop(priv);
if (err) {
IWL_ERR(priv, "Unable to init EEPROM\n");
goto out_free_trans;