Browse Source

Merge "ASoC: wsa883x: Avoid temperature read during playback"

qctecmdr 4 years ago
parent
commit
5e475581e8
1 changed files with 6 additions and 1 deletions
  1. 6 1
      asoc/codecs/wsa883x/wsa883x.c

+ 6 - 1
asoc/codecs/wsa883x/wsa883x.c

@@ -620,9 +620,14 @@ static int wsa_get_temp(struct snd_kcontrol *kcontrol,
 {
 	struct snd_soc_component *component =
 			snd_soc_kcontrol_component(kcontrol);
+	struct wsa883x_priv *wsa883x = snd_soc_component_get_drvdata(component);
 	int temp = 0;
 
-	wsa883x_get_temperature(component, &temp);
+	if (test_bit(SPKR_STATUS, &wsa883x->status_mask))
+		temp = wsa883x->curr_temp;
+	else
+		wsa883x_get_temperature(component, &temp);
+
 	ucontrol->value.integer.value[0] = temp;
 
 	return 0;