From aea784377cd79de1568de0e7b9a23901ab33ee3c Mon Sep 17 00:00:00 2001 From: Sudheer Papothi Date: Wed, 10 Jun 2020 00:32:52 +0530 Subject: [PATCH] ASoC: wsa883x: Avoid temperature read during playback Avoid reading temperature during playback usecase. Change-Id: If471e19ea0ca5856d17f694ce084145d7132e365 Signed-off-by: Sudheer Papothi --- asoc/codecs/wsa883x/wsa883x.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/asoc/codecs/wsa883x/wsa883x.c b/asoc/codecs/wsa883x/wsa883x.c index 8b3d588130..95901e849a 100644 --- a/asoc/codecs/wsa883x/wsa883x.c +++ b/asoc/codecs/wsa883x/wsa883x.c @@ -599,9 +599,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;