msm: audio: qdsp6v2: Fix the issue of memory unmap
- Target freeze observed during monkey run. - Memory unmap getting called from interrupt context, which is causing scheduling during atomic operation. - Avoid calling memory unmap from interrupt context. (cherry picked from commit a64fae9ba272ba2f689f30bc7b33c8a1fe4445e5) Signed-off-by: Deepa Madiregama <dmadireg@codeaurora.org> Change-Id: Iab9372ba1b2d560c7e161f39483478f0342ac30a Signed-off-by: Neha Pandey <nehap@codeaurora.org>
This commit is contained in:
committed by
Stephen Boyd
parent
c265eed0da
commit
23495c9c2e
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user