diff --git a/arch/arm/mach-msm/qdsp6v2/audio_lpa.c b/arch/arm/mach-msm/qdsp6v2/audio_lpa.c index 3abab01f040..31c7ad7deef 100644 --- a/arch/arm/mach-msm/qdsp6v2/audio_lpa.c +++ b/arch/arm/mach-msm/qdsp6v2/audio_lpa.c @@ -1128,6 +1128,7 @@ static int audio_release(struct inode *inode, struct file *file) audio->wflush = 0; audlpa_unmap_ion_region(audio); audio_disable(audio); + audlpa_unmap_ion_region(audio); msm_clear_session_id(audio->ac->session); auddev_unregister_evt_listner(AUDDEV_CLNT_DEC, audio->ac->session); q6asm_audio_client_free(audio->ac); diff --git a/arch/arm/mach-msm/qdsp6v2/audio_utils_aio.c b/arch/arm/mach-msm/qdsp6v2/audio_utils_aio.c index ef7d59012ef..05fdf56dd92 100644 --- a/arch/arm/mach-msm/qdsp6v2/audio_utils_aio.c +++ b/arch/arm/mach-msm/qdsp6v2/audio_utils_aio.c @@ -470,6 +470,7 @@ int audio_aio_release(struct inode *inode, struct file *file) audio->drv_ops.in_flush(audio); audio_aio_unmap_ion_region(audio); audio_aio_disable(audio); + audio_aio_unmap_ion_region(audio); audio_aio_reset_ion_region(audio); ion_client_destroy(audio->client); audio->event_abort = 1;