diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2012-06-17 08:42:37 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-06-18 07:47:06 -0400 |
commit | dada03ca73b699337781ae36e1ce4c8fec2da40a (patch) | |
tree | 80874968fc76005dc9faf3cced8b178970f70c27 /drivers/net/wireless/iwlwifi/dvm/main.c | |
parent | eb6476441bc2fecf6232a87d0313a85f8e3da7f4 (diff) |
iwlwifi: disable early power Off reset for all NICs
This feature needs to be disabled for all NICs.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/dvm/main.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/dvm/main.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/dvm/main.c b/drivers/net/wireless/iwlwifi/dvm/main.c index bba3edfb348..c642c217e29 100644 --- a/drivers/net/wireless/iwlwifi/dvm/main.c +++ b/drivers/net/wireless/iwlwifi/dvm/main.c | |||
@@ -51,11 +51,13 @@ | |||
51 | #include "iwl-op-mode.h" | 51 | #include "iwl-op-mode.h" |
52 | #include "iwl-drv.h" | 52 | #include "iwl-drv.h" |
53 | #include "iwl-modparams.h" | 53 | #include "iwl-modparams.h" |
54 | #include "iwl-prph.h" | ||
54 | 55 | ||
55 | #include "dev.h" | 56 | #include "dev.h" |
56 | #include "calib.h" | 57 | #include "calib.h" |
57 | #include "agn.h" | 58 | #include "agn.h" |
58 | 59 | ||
60 | |||
59 | /****************************************************************************** | 61 | /****************************************************************************** |
60 | * | 62 | * |
61 | * module boiler plate | 63 | * module boiler plate |
@@ -2076,7 +2078,16 @@ static void iwl_nic_config(struct iwl_op_mode *op_mode) | |||
2076 | CSR_HW_IF_CONFIG_REG_BIT_RADIO_SI | | 2078 | CSR_HW_IF_CONFIG_REG_BIT_RADIO_SI | |
2077 | CSR_HW_IF_CONFIG_REG_BIT_MAC_SI); | 2079 | CSR_HW_IF_CONFIG_REG_BIT_MAC_SI); |
2078 | 2080 | ||
2079 | priv->lib->nic_config(priv); | 2081 | /* W/A : NIC is stuck in a reset state after Early PCIe power off |
2082 | * (PCIe power is lost before PERST# is asserted), | ||
2083 | * causing ME FW to lose ownership and not being able to obtain it back. | ||
2084 | */ | ||
2085 | iwl_set_bits_mask_prph(priv->trans, APMG_PS_CTRL_REG, | ||
2086 | APMG_PS_CTRL_EARLY_PWR_OFF_RESET_DIS, | ||
2087 | ~APMG_PS_CTRL_EARLY_PWR_OFF_RESET_DIS); | ||
2088 | |||
2089 | if (priv->lib->nic_config) | ||
2090 | priv->lib->nic_config(priv); | ||
2080 | } | 2091 | } |
2081 | 2092 | ||
2082 | static void iwl_wimax_active(struct iwl_op_mode *op_mode) | 2093 | static void iwl_wimax_active(struct iwl_op_mode *op_mode) |