diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c index a8506e4041be4d..32ff4395928039 100644 --- a/drivers/soundwire/intel.c +++ b/drivers/soundwire/intel.c @@ -473,13 +473,13 @@ void sdw_intel_process_wakeen_event(struct sdw_intel_ctx *ctx) * the wakeen event and let codec driver check codec status */ list_for_each_entry(slave, &bus->slaves, node) { - if (slave->prop.wake_capable) { - if (slave->status != SDW_SLAVE_ATTACHED && - slave->status != SDW_SLAVE_ALERT) - continue; - + /* + * discard devices that are defined in ACPI tables but + * not physically present and devices that cannot + * generate wakes + */ + if (slave->dev_num_sticky && slave->prop.wake_capable) pm_request_resume(&slave->dev); - } } } }