Skip to content

Commit 6087fca

Browse files
Fang, Yang Abroonie
authored andcommitted
ASoC: rt5677: fixed rt5677_dsp_vad_put rt5677_dsp_vad_get panic
snd_kcontrol_chip should return snd_soc_component instead of snd_soc_codec Signed-off-by: Fang, Yang A <yang.a.fang@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 97bf6af commit 6087fca

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

sound/soc/codecs/rt5677.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -784,8 +784,8 @@ static unsigned int bst_tlv[] = {
784784
static int rt5677_dsp_vad_get(struct snd_kcontrol *kcontrol,
785785
struct snd_ctl_elem_value *ucontrol)
786786
{
787-
struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
788-
struct rt5677_priv *rt5677 = snd_soc_codec_get_drvdata(codec);
787+
struct snd_soc_component *component = snd_kcontrol_chip(kcontrol);
788+
struct rt5677_priv *rt5677 = snd_soc_component_get_drvdata(component);
789789

790790
ucontrol->value.integer.value[0] = rt5677->dsp_vad_en;
791791

@@ -795,8 +795,9 @@ static int rt5677_dsp_vad_get(struct snd_kcontrol *kcontrol,
795795
static int rt5677_dsp_vad_put(struct snd_kcontrol *kcontrol,
796796
struct snd_ctl_elem_value *ucontrol)
797797
{
798-
struct snd_soc_codec *codec = snd_kcontrol_chip(kcontrol);
799-
struct rt5677_priv *rt5677 = snd_soc_codec_get_drvdata(codec);
798+
struct snd_soc_component *component = snd_kcontrol_chip(kcontrol);
799+
struct rt5677_priv *rt5677 = snd_soc_component_get_drvdata(component);
800+
struct snd_soc_codec *codec = snd_soc_component_to_codec(component);
800801

801802
rt5677->dsp_vad_en = !!ucontrol->value.integer.value[0];
802803

0 commit comments

Comments
 (0)