From da08f2f31562a8f6c3750aed1314dad940b591bd Mon Sep 17 00:00:00 2001 From: Meng Wang Date: Thu, 17 May 2018 11:23:27 +0800 Subject: [PATCH] ASoC: wcd934x: Reset power_active_ref to 0 when it is negative Reset power_active_ref counter to 0 when it is negative to take digital core out of reset during next session. Change-Id: I724ffe6e3547655424238ca02a9bf8ac24b101fe Signed-off-by: Meng Wang --- asoc/codecs/wcd934x/wcd934x.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/asoc/codecs/wcd934x/wcd934x.c b/asoc/codecs/wcd934x/wcd934x.c index 36a067432c..b45631fc89 100644 --- a/asoc/codecs/wcd934x/wcd934x.c +++ b/asoc/codecs/wcd934x/wcd934x.c @@ -9002,8 +9002,10 @@ static int tavil_dig_core_power_collapse(struct tavil_priv *tavil, goto unlock_mutex; if (tavil->power_active_ref < 0) { - dev_dbg(tavil->dev, "%s: power_active_ref is negative\n", + dev_dbg(tavil->dev, + "%s: power_active_ref is negative, reset it\n", __func__); + tavil->power_active_ref = 0; goto unlock_mutex; }