The Bridge exit resource cleanup is accessing Process context pointer after it is freed. Fixed this by holding the next Process context pointer in a temporary variable. Signed-off-by: Hari Kanigeri <h-kanigeri2@xxxxxx> --- drivers/dsp/bridge/rmgr/drv_interface.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/dsp/bridge/rmgr/drv_interface.c b/drivers/dsp/bridge/rmgr/drv_interface.c index a756997..af98600 100644 --- a/drivers/dsp/bridge/rmgr/drv_interface.c +++ b/drivers/dsp/bridge/rmgr/drv_interface.c @@ -537,7 +537,7 @@ static void __exit bridge_exit(void) DSP_STATUS dsp_status = DSP_SOK; HANDLE hDrvObject = NULL; struct PROCESS_CONTEXT *pCtxtclosed = NULL; - + struct PROCESS_CONTEXT *pTmp = NULL; GT_0trace(driverTrace, GT_ENTER, "-> driver_exit\n"); @@ -551,9 +551,10 @@ static void __exit bridge_exit(void) "process***%d\n", pCtxtclosed->pid); DRV_RemoveAllResources(pCtxtclosed); PROC_Detach(pCtxtclosed->hProcessor); + pTmp = pCtxtclosed->next; DRV_RemoveProcContext((struct DRV_OBJECT *)hDrvObject, pCtxtclosed, (void *)pCtxtclosed->pid); - pCtxtclosed = pCtxtclosed->next;; + pCtxtclosed = pTmp; } func_cont: #ifndef CONFIG_DISABLE_BRIDGE_PM -- 1.5.4.3 Thank you, Best regards, Hari
Attachment:
0001-OMAPZOOM-DSPBRIDGE-bug-in-Bridge-exit-cleanup.patch
Description: 0001-OMAPZOOM-DSPBRIDGE-bug-in-Bridge-exit-cleanup.patch