@@ -1037,7 +1037,8 @@ static int genpd_finish_suspend(struct device *dev, bool poweroff)
if (IS_ERR(genpd))
return -EINVAL;
- if (dev->power.wakeup_path && genpd_is_active_wakeup(genpd))
+ if (dev->power.wakeup_path &&
+ (dev->power.wakeup_path_in_band || genpd_is_active_wakeup(genpd)))
return 0;
if (poweroff)
@@ -1092,7 +1093,8 @@ static int genpd_resume_noirq(struct device *dev)
if (IS_ERR(genpd))
return -EINVAL;
- if (dev->power.wakeup_path && genpd_is_active_wakeup(genpd))
+ if (dev->power.wakeup_path &&
+ (dev->power.wakeup_path_in_band || genpd_is_active_wakeup(genpd)))
return 0;
genpd_lock(genpd);