diff options
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/d3.c | 13 |
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); |