diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c index 00d0bd8b0d94..17aff79bd329 100644 --- a/drivers/base/power/main.c +++ b/drivers/base/power/main.c @@ -528,7 +528,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.status = DPM_RESUMING;