|
@@ -2803,7 +2803,8 @@ static struct iwl_trans_dump_data
|
|
#ifdef CONFIG_PM_SLEEP
|
|
#ifdef CONFIG_PM_SLEEP
|
|
static int iwl_trans_pcie_suspend(struct iwl_trans *trans)
|
|
static int iwl_trans_pcie_suspend(struct iwl_trans *trans)
|
|
{
|
|
{
|
|
- if (trans->runtime_pm_mode == IWL_PLAT_PM_MODE_D0I3)
|
|
|
|
|
|
+ if (trans->runtime_pm_mode == IWL_PLAT_PM_MODE_D0I3 &&
|
|
|
|
+ (trans->system_pm_mode == IWL_PLAT_PM_MODE_D0I3))
|
|
return iwl_pci_fw_enter_d0i3(trans);
|
|
return iwl_pci_fw_enter_d0i3(trans);
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
@@ -2811,7 +2812,8 @@ static int iwl_trans_pcie_suspend(struct iwl_trans *trans)
|
|
|
|
|
|
static void iwl_trans_pcie_resume(struct iwl_trans *trans)
|
|
static void iwl_trans_pcie_resume(struct iwl_trans *trans)
|
|
{
|
|
{
|
|
- if (trans->runtime_pm_mode == IWL_PLAT_PM_MODE_D0I3)
|
|
|
|
|
|
+ if (trans->runtime_pm_mode == IWL_PLAT_PM_MODE_D0I3 &&
|
|
|
|
+ (trans->system_pm_mode == IWL_PLAT_PM_MODE_D0I3))
|
|
iwl_pci_fw_exit_d0i3(trans);
|
|
iwl_pci_fw_exit_d0i3(trans);
|
|
}
|
|
}
|
|
#endif /* CONFIG_PM_SLEEP */
|
|
#endif /* CONFIG_PM_SLEEP */
|