|
@@ -1023,14 +1023,6 @@ static int iwl_trans_pcie_d3_resume(struct iwl_trans *trans,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
- iwl_pcie_set_pwr(trans, false);
|
|
|
-
|
|
|
- val = iwl_read32(trans, CSR_RESET);
|
|
|
- if (val & CSR_RESET_REG_FLAG_NEVO_RESET) {
|
|
|
- *status = IWL_D3_STATUS_RESET;
|
|
|
- return 0;
|
|
|
- }
|
|
|
-
|
|
|
/*
|
|
|
* Also enables interrupts - none will happen as the device doesn't
|
|
|
* know we're waking it up, only when the opmode actually tells it
|
|
@@ -1050,6 +1042,8 @@ static int iwl_trans_pcie_d3_resume(struct iwl_trans *trans,
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
+ iwl_pcie_set_pwr(trans, false);
|
|
|
+
|
|
|
iwl_trans_pcie_tx_reset(trans);
|
|
|
|
|
|
ret = iwl_pcie_rx_init(trans);
|
|
@@ -1058,7 +1052,12 @@ static int iwl_trans_pcie_d3_resume(struct iwl_trans *trans,
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
- *status = IWL_D3_STATUS_ALIVE;
|
|
|
+ val = iwl_read32(trans, CSR_RESET);
|
|
|
+ if (val & CSR_RESET_REG_FLAG_NEVO_RESET)
|
|
|
+ *status = IWL_D3_STATUS_RESET;
|
|
|
+ else
|
|
|
+ *status = IWL_D3_STATUS_ALIVE;
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|