aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/base/power/main.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index 3f68e2919dc5..a690fd400260 100644
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -1713,8 +1713,10 @@ static int __device_suspend(struct device *dev, pm_message_t state, bool async)
1713 1713
1714 dpm_wait_for_subordinate(dev, async); 1714 dpm_wait_for_subordinate(dev, async);
1715 1715
1716 if (async_error) 1716 if (async_error) {
1717 dev->power.direct_complete = false;
1717 goto Complete; 1718 goto Complete;
1719 }
1718 1720
1719 /* 1721 /*
1720 * If a device configured to wake up the system from sleep states 1722 * If a device configured to wake up the system from sleep states
@@ -1726,6 +1728,7 @@ static int __device_suspend(struct device *dev, pm_message_t state, bool async)
1726 pm_wakeup_event(dev, 0); 1728 pm_wakeup_event(dev, 0);
1727 1729
1728 if (pm_wakeup_pending()) { 1730 if (pm_wakeup_pending()) {
1731 dev->power.direct_complete = false;
1729 async_error = -EBUSY; 1732 async_error = -EBUSY;
1730 goto Complete; 1733 goto Complete;
1731 } 1734 }