Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c999675b authored by Ben Zhang's avatar Ben Zhang Committed by Mark Brown
Browse files

ASoC: Intel: Fix conflicting pcm dev drvdata on haswell



soc-core sets the snd_soc_pcm_runtime->dev drvdata to
snd_soc_pcm_runtime in soc_post_component_init, and access
it in places like codec_reg_show.

hsw_pcm_open overwrites the drvdata to point to hsw_pcm_data,
confusing soc-core, and causing crashes when cat
/sys/devices/pci0000:00/INT3438:00/.../System PCM/codec_reg

This patch removes the set in hsw_pcm_open since it's no longer
used. commit 7ff9d671 ("ASoC: Intel: Split hsw_pcm_data for
playback and capture") already removed all calls to
snd_soc_pcm_get_drvdata(rtd).

Signed-off-by: default avatarBen Zhang <benzh@chromium.org>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 9dc201cf
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -819,7 +819,6 @@ static int hsw_pcm_open(struct snd_pcm_substream *substream)
	mutex_lock(&pcm_data->mutex);
	pm_runtime_get_sync(pdata->dev);

	snd_soc_pcm_set_drvdata(rtd, pcm_data);
	pcm_data->substream = substream;

	snd_soc_set_runtime_hwparams(substream, &hsw_pcm_hardware);