We have a conceptual issue on restart: the interaction with the slaves can start before (re) enumeration is complete. Add a delay for now but we will need to have an async notification that all devices are back on the bus.
Signed-off-by: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com --- drivers/soundwire/intel.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c index 1394a2322553..e4ea430b5a8e 100644 --- a/drivers/soundwire/intel.c +++ b/drivers/soundwire/intel.c @@ -1242,6 +1242,11 @@ static int intel_resume(struct device *dev)
ret = sdw_cdns_exit_reset(&sdw->cdns);
+ /* add delay to let Slaves re-enumerate */ + usleep_range(20000, 30000); + + dev_dbg(dev, "%s done\n", __func__); + return ret; }