Browse Source

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 <[email protected]>
Meng Wang 6 years ago
parent
commit
da08f2f315
1 changed files with 3 additions and 1 deletions
  1. 3 1
      asoc/codecs/wcd934x/wcd934x.c

+ 3 - 1
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;
 	}