aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm_hubs.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/codecs/wm_hubs.c')
-rw-r--r--sound/soc/codecs/wm_hubs.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm_hubs.c b/sound/soc/codecs/wm_hubs.c
index 2b5c0924f615..e81ba6d2d7cd 100644
--- a/sound/soc/codecs/wm_hubs.c
+++ b/sound/soc/codecs/wm_hubs.c
@@ -162,10 +162,16 @@ static int wm8993_put_dc_servo(struct snd_kcontrol *kcontrol,
162 struct snd_ctl_elem_value *ucontrol) 162 struct snd_ctl_elem_value *ucontrol)
163{ 163{
164 struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol); 164 struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
165 struct wm_hubs_data *hubs = codec->private_data;
165 int ret; 166 int ret;
166 167
167 ret = snd_soc_put_volsw_2r(kcontrol, ucontrol); 168 ret = snd_soc_put_volsw_2r(kcontrol, ucontrol);
168 169
170 /* If we're applying an offset correction then updating the
171 * callibration would be likely to introduce further offsets. */
172 if (hubs->dcs_codes)
173 return ret;
174
169 /* Only need to do this if the outputs are active */ 175 /* Only need to do this if the outputs are active */
170 if (snd_soc_read(codec, WM8993_POWER_MANAGEMENT_1) 176 if (snd_soc_read(codec, WM8993_POWER_MANAGEMENT_1)
171 & (WM8993_HPOUT1L_ENA | WM8993_HPOUT1R_ENA)) 177 & (WM8993_HPOUT1L_ENA | WM8993_HPOUT1R_ENA))