From: Pierre-Louis Bossart <pierre-louis.boss...@linux.intel.com>

Detect cases where the clock is assumed to be stopped but the IP is
not in the relevant state. There is no real way to recover here, but
adding an error log can help detect bad programming sequences or race
conditions.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.boss...@linux.intel.com>
Signed-off-by: Bard Liao <yung-chuan.l...@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 272826973426..97c8cfc54ddd 100644
--- a/drivers/soundwire/intel.c
+++ b/drivers/soundwire/intel.c
@@ -1931,6 +1931,11 @@ static int intel_resume_runtime(struct device *dev)
                        }
                }
        } else if (!clock_stop_quirks) {
+
+               clock_stop0 = sdw_cdns_is_clock_stop(&sdw->cdns);
+               if (!clock_stop0)
+                       dev_err(dev, "%s invalid configuration, clock was not 
stopped", __func__);
+
                ret = intel_init(sdw);
                if (ret) {
                        dev_err(dev, "%s failed: %d", __func__, ret);
-- 
2.17.1

Reply via email to