]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
ASoC: codecs: wcd937x-sdw: Fix Unbalanced pm_runtime_enable
authorMohammad Rafi Shaik <quic_mohs@quicinc.com>
Thu, 4 Jul 2024 08:17:21 +0000 (13:47 +0530)
committerMark Brown <broonie@kernel.org>
Fri, 12 Jul 2024 13:44:23 +0000 (14:44 +0100)
Fix the unbalanced pm_runtime_enable! in wcd937x-sdw soundwire slave.

Fixes: c99a515ff153 ("ASoC: codecs: wcd937x-sdw: add SoundWire driver")
Signed-off-by: Mohammad Rafi Shaik <quic_mohs@quicinc.com>
Link: https://patch.msgid.link/20240704081723.3394153-2-quic_mohs@quicinc.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/wcd937x-sdw.c

index a24d6c620dba0abebbc3f6473218ee1b74226295..3abc8041406adc24544bb33e23b56162c0c36deb 100644 (file)
@@ -1067,13 +1067,15 @@ static int wcd9370_probe(struct sdw_slave *pdev,
                wcd->ch_info = &wcd937x_sdw_rx_ch_info[0];
        }
 
-       pm_runtime_set_autosuspend_delay(dev, 3000);
-       pm_runtime_use_autosuspend(dev);
-       pm_runtime_mark_last_busy(dev);
-       pm_runtime_set_active(dev);
-       pm_runtime_enable(dev);
 
-       return component_add(dev, &wcd937x_sdw_component_ops);
+       ret = component_add(dev, &wcd937x_sdw_component_ops);
+       if (ret)
+               return ret;
+
+       /* Set suspended until aggregate device is bind */
+       pm_runtime_set_suspended(dev);
+
+       return 0;
 }
 
 static int wcd9370_remove(struct sdw_slave *pdev)
@@ -1082,10 +1084,6 @@ static int wcd9370_remove(struct sdw_slave *pdev)
 
        component_del(dev, &wcd937x_sdw_component_ops);
 
-       pm_runtime_disable(dev);
-       pm_runtime_set_suspended(dev);
-       pm_runtime_dont_use_autosuspend(dev);
-
        return 0;
 }