4.9-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Luca Coelho <[email protected]>

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 <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 drivers/net/wireless/intel/iwlwifi/mvm/d3.c |   13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

--- 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 ieee
        iwl_trans_d3_suspend(mvm->trans, test, !unified_image);
  out:
        if (ret < 0) {
-               iwl_mvm_ref(mvm, IWL_MVM_REF_UCODE_DOWN);
-               if (mvm->restart_fw > 0) {
-                       mvm->restart_fw--;
-                       ieee80211_restart_hw(mvm->hw);
-               }
                iwl_mvm_free_nd(mvm);
+
+               if (!unified_image) {
+                       iwl_mvm_ref(mvm, IWL_MVM_REF_UCODE_DOWN);
+                       if (mvm->restart_fw > 0) {
+                               mvm->restart_fw--;
+                               ieee80211_restart_hw(mvm->hw);
+                       }
+               }
        }
  out_noreset:
        mutex_unlock(&mvm->mutex);


Reply via email to