Merge "ASoC: msm: qdsp6v2: set pointer to NULL after free"

This commit is contained in:
Linux Build Service Account 2017-03-07 06:25:11 -08:00 committed by Gerrit - the friendly Code Review server
commit b8f5c40e55
4 changed files with 9 additions and 1 deletions

View file

@ -1683,6 +1683,7 @@ static int msm_compr_playback_free(struct snd_compr_stream *cstream)
kfree(pdata->dec_params[soc_prtd->dai_link->be_id]); kfree(pdata->dec_params[soc_prtd->dai_link->be_id]);
pdata->dec_params[soc_prtd->dai_link->be_id] = NULL; pdata->dec_params[soc_prtd->dai_link->be_id] = NULL;
kfree(prtd); kfree(prtd);
runtime->private_data = NULL;
return 0; return 0;
} }
@ -1742,6 +1743,7 @@ static int msm_compr_capture_free(struct snd_compr_stream *cstream)
q6asm_audio_client_free(ac); q6asm_audio_client_free(ac);
kfree(prtd); kfree(prtd);
runtime->private_data = NULL;
return 0; return 0;
} }

View file

@ -1,4 +1,4 @@
/* Copyright (c) 2012-2016, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and * it under the terms of the GNU General Public License version 2 and
@ -684,6 +684,7 @@ done:
mutex_unlock(&prtd->lock); mutex_unlock(&prtd->lock);
prtd->prepared--; prtd->prepared--;
kfree(prtd); kfree(prtd);
runtime->private_data = NULL;
return 0; return 0;
} }
static int msm_afe_prepare(struct snd_pcm_substream *substream) static int msm_afe_prepare(struct snd_pcm_substream *substream)

View file

@ -570,6 +570,8 @@ static int msm_pcm_close(struct snd_pcm_substream *substream)
SNDRV_PCM_STREAM_PLAYBACK : SNDRV_PCM_STREAM_PLAYBACK :
SNDRV_PCM_STREAM_CAPTURE); SNDRV_PCM_STREAM_CAPTURE);
kfree(prtd); kfree(prtd);
runtime->private_data = NULL;
return 0; return 0;
} }

View file

@ -804,6 +804,8 @@ static int msm_pcm_playback_close(struct snd_pcm_substream *substream)
msm_pcm_routing_dereg_phy_stream(soc_prtd->dai_link->be_id, msm_pcm_routing_dereg_phy_stream(soc_prtd->dai_link->be_id,
SNDRV_PCM_STREAM_PLAYBACK); SNDRV_PCM_STREAM_PLAYBACK);
kfree(prtd); kfree(prtd);
runtime->private_data = NULL;
return 0; return 0;
} }
@ -909,6 +911,7 @@ static int msm_pcm_capture_close(struct snd_pcm_substream *substream)
msm_pcm_routing_dereg_phy_stream(soc_prtd->dai_link->be_id, msm_pcm_routing_dereg_phy_stream(soc_prtd->dai_link->be_id,
SNDRV_PCM_STREAM_CAPTURE); SNDRV_PCM_STREAM_CAPTURE);
kfree(prtd); kfree(prtd);
runtime->private_data = NULL;
return 0; return 0;
} }