mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-11 23:26:47 +07:00
ASoC: amd: memory release for rtd structure
rtd structure freed early may result in kernel panic in dma close call back. moved releasing memory for rtd structure to the end of dma close callback. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com> Reviewed-by: Daniel Kurtz <djkurtz@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
18e8a40dd3
commit
cac6f59717
@ -998,8 +998,6 @@ static int acp_dma_close(struct snd_pcm_substream *substream)
|
||||
DRV_NAME);
|
||||
struct audio_drv_data *adata = dev_get_drvdata(component->dev);
|
||||
|
||||
kfree(rtd);
|
||||
|
||||
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
|
||||
adata->play_i2ssp_stream = NULL;
|
||||
/*
|
||||
@ -1028,7 +1026,7 @@ static int acp_dma_close(struct snd_pcm_substream *substream)
|
||||
*/
|
||||
if (!adata->play_i2ssp_stream && !adata->capture_i2ssp_stream)
|
||||
acp_reg_write(0, adata->acp_mmio, mmACP_EXTERNAL_INTR_ENB);
|
||||
|
||||
kfree(rtd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user