diff options
Diffstat (limited to 'drivers/base/power/domain.c')
-rw-r--r-- | drivers/base/power/domain.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c index 33086e9afaf6..1aed94c73cfc 100644 --- a/drivers/base/power/domain.c +++ b/drivers/base/power/domain.c | |||
@@ -450,6 +450,10 @@ static int pm_genpd_suspend_noirq(struct device *dev) | |||
450 | if (ret) | 450 | if (ret) |
451 | return ret; | 451 | return ret; |
452 | 452 | ||
453 | if (device_may_wakeup(dev) | ||
454 | && genpd->active_wakeup && genpd->active_wakeup(dev)) | ||
455 | return 0; | ||
456 | |||
453 | if (genpd->stop_device) | 457 | if (genpd->stop_device) |
454 | genpd->stop_device(dev); | 458 | genpd->stop_device(dev); |
455 | 459 | ||
@@ -670,6 +674,10 @@ static int pm_genpd_dev_poweroff_noirq(struct device *dev) | |||
670 | if (ret) | 674 | if (ret) |
671 | return ret; | 675 | return ret; |
672 | 676 | ||
677 | if (device_may_wakeup(dev) | ||
678 | && genpd->active_wakeup && genpd->active_wakeup(dev)) | ||
679 | return 0; | ||
680 | |||
673 | if (genpd->stop_device) | 681 | if (genpd->stop_device) |
674 | genpd->stop_device(dev); | 682 | genpd->stop_device(dev); |
675 | 683 | ||