diff options
Diffstat (limited to 'sound/soc/codecs/wm_hubs.c')
-rw-r--r-- | sound/soc/codecs/wm_hubs.c | 6 |
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)) |