Skip to content

Commit 9a3fc0a

Browse files
committed
ASoC: wm_adsp: Corrected dsp pointer for Preloader Switch Control.
Change-Id: I63f2322b69622659ab79dfcbc770f6581c873478 Signed-off-by: apandey <[email protected]>
1 parent b3426f9 commit 9a3fc0a

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

sound/soc/codecs/wm_adsp.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3562,7 +3562,10 @@ int wm_adsp2_preloader_get(struct snd_kcontrol *kcontrol,
35623562
struct snd_ctl_elem_value *ucontrol)
35633563
{
35643564
struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
3565-
struct wm_adsp *dsp = snd_soc_codec_get_drvdata(codec);
3565+
struct wm_adsp *dsps = snd_soc_codec_get_drvdata(codec);
3566+
struct soc_mixer_control *mc =
3567+
(struct soc_mixer_control *)kcontrol->private_value;
3568+
struct wm_adsp *dsp = &dsps[mc->shift-1];
35663569

35673570
ucontrol->value.integer.value[0] = dsp->preloaded;
35683571

@@ -3574,10 +3577,11 @@ int wm_adsp2_preloader_put(struct snd_kcontrol *kcontrol,
35743577
struct snd_ctl_elem_value *ucontrol)
35753578
{
35763579
struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
3577-
struct wm_adsp *dsp = snd_soc_codec_get_drvdata(codec);
3580+
struct wm_adsp *dsps = snd_soc_codec_get_drvdata(codec);
35783581
struct snd_soc_dapm_context *dapm = snd_soc_codec_get_dapm(codec);
35793582
struct soc_mixer_control *mc =
35803583
(struct soc_mixer_control *)kcontrol->private_value;
3584+
struct wm_adsp *dsp = &dsps[mc->shift-1];
35813585
char preload[32];
35823586

35833587
snprintf(preload, ARRAY_SIZE(preload), "DSP%u%s Preload", mc->shift,

0 commit comments

Comments
 (0)