aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Coelho <luciano.coelho@intel.com>2016-10-07 08:16:26 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-05-14 08:00:16 -0400
commit45dad03aca5596cc8c1ba71b7644b5859377b823 (patch)
tree939c1888f9f741e6a9c596a6adc1941b87a673c7
parentd0a8075ffe0572819e19aac9110e1913cef754d4 (diff)
iwlwifi: mvm: don't restart HW if suspend fails with unified image
commit bac453ab3745eaa64137ea6e77e009b45954f0ae upstream. For unified images, we shouldn't restart the HW if suspend fails. The only reason for restarting the HW with non-unified images is to go back to the D0 image. Fixes: 23ae61282b88 ("iwlwifi: mvm: Do not switch to D3 image on suspend") Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/d3.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/d3.c b/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
index b88e2048ae0b..207d8ae1e116 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
@@ -1262,12 +1262,15 @@ static int __iwl_mvm_suspend(struct ieee80211_hw *hw,
1262 iwl_trans_d3_suspend(mvm->trans, test, !unified_image); 1262 iwl_trans_d3_suspend(mvm->trans, test, !unified_image);
1263 out: 1263 out:
1264 if (ret < 0) { 1264 if (ret < 0) {
1265 iwl_mvm_ref(mvm, IWL_MVM_REF_UCODE_DOWN);
1266 if (mvm->restart_fw > 0) {
1267 mvm->restart_fw--;
1268 ieee80211_restart_hw(mvm->hw);
1269 }
1270 iwl_mvm_free_nd(mvm); 1265 iwl_mvm_free_nd(mvm);
1266
1267 if (!unified_image) {
1268 iwl_mvm_ref(mvm, IWL_MVM_REF_UCODE_DOWN);
1269 if (mvm->restart_fw > 0) {
1270 mvm->restart_fw--;
1271 ieee80211_restart_hw(mvm->hw);
1272 }
1273 }
1271 } 1274 }
1272 out_noreset: 1275 out_noreset:
1273 mutex_unlock(&mvm->mutex); 1276 mutex_unlock(&mvm->mutex);