Signed-off-by: Pierre-Louis Bossart <pierre-louis.boss...@linux.intel.com>
---
 drivers/soundwire/intel.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c
index 1477c35f616f..a976480d6f36 100644
--- a/drivers/soundwire/intel.c
+++ b/drivers/soundwire/intel.c
@@ -1161,6 +1161,12 @@ static int intel_suspend(struct device *dev)
 
        sdw = dev_get_drvdata(dev);
 
+       if (sdw->cdns.bus.prop.hw_disabled) {
+               dev_dbg(dev, "SoundWire master %d is disabled, ignoring\n",
+                       sdw->cdns.bus.link_id);
+               return 0;
+       }
+
        ret = intel_link_power_down(sdw);
        if (ret) {
                dev_err(dev, "Link power down failed: %d", ret);
@@ -1179,6 +1185,12 @@ static int intel_resume(struct device *dev)
 
        sdw = dev_get_drvdata(dev);
 
+       if (sdw->cdns.bus.prop.hw_disabled) {
+               dev_dbg(dev, "SoundWire master %d is disabled, ignoring\n",
+                       sdw->cdns.bus.link_id);
+               return 0;
+       }
+
        ret = intel_init(sdw);
        if (ret) {
                dev_err(dev, "%s failed: %d", __func__, ret);
-- 
2.20.1

Reply via email to