diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c index c31045e8938e..111a77dba092 100644 --- a/drivers/base/power/main.c +++ b/drivers/base/power/main.c @@ -512,7 +512,8 @@ static int device_resume(struct device *dev, pm_message_t state, bool async) TRACE_DEVICE(dev); TRACE_RESUME(0); - dpm_wait(dev->parent, async); + if (dev->parent && dev->parent->power.status >= DPM_OFF) + dpm_wait(dev->parent, async); device_lock(dev); dev->power.in_suspend = false;