Bläddra i källkod

Merge "asoc: lpass-cdc: call runtime_suspend when vote fails"

qctecmdr 3 år sedan
förälder
incheckning
74848e76fe
1 ändrade filer med 5 tillägg och 2 borttagningar
  1. 5 2
      asoc/codecs/lpass-cdc/lpass-cdc-va-macro.c

+ 5 - 2
asoc/codecs/lpass-cdc/lpass-cdc-va-macro.c

@@ -711,10 +711,13 @@ static int lpass_cdc_va_macro_core_vote(void *handle, bool enable)
 	}
 	if (enable) {
 		pm_runtime_get_sync(va_priv->dev);
-		if (lpass_cdc_check_core_votes(va_priv->dev))
+		if (lpass_cdc_check_core_votes(va_priv->dev)) {
 			rc = 0;
-		else
+		} else {
+			pm_runtime_put_autosuspend(va_priv->dev);
+			pm_runtime_mark_last_busy(va_priv->dev);
 			rc = -ENOTSYNC;
+		}
 	} else {
 		pm_runtime_put_autosuspend(va_priv->dev);
 		pm_runtime_mark_last_busy(va_priv->dev);