There's no need to keep it around. DSP should stop trying to access
system memory.

Signed-off-by: Felipe Contreras <[email protected]>
---
 drivers/dsp/bridge/core/ue_deh.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/dsp/bridge/core/ue_deh.c b/drivers/dsp/bridge/core/ue_deh.c
index 605cec7..593a0e3 100644
--- a/drivers/dsp/bridge/core/ue_deh.c
+++ b/drivers/dsp/bridge/core/ue_deh.c
@@ -60,8 +60,6 @@
 /* Max time to check for GP Timer IRQ */
 #define GPTIMER_IRQ_WAIT_MAX_CNT       1000
 
-static void *dummy_va_addr;
-
 static struct omap_dm_timer *timer;
 
 dsp_status bridge_deh_create(struct deh_mgr **ret_deh_mgr,
@@ -203,6 +201,7 @@ void bridge_deh_notify(struct deh_mgr *deh_mgr, u32 
ulEventMask, u32 dwErrInfo)
                .element_size = HW_ELEM_SIZE16BIT,
                .mixed_size = HW_MMU_CPUES,
        };
+       void *dummy_va_addr;
 
        if (!deh_mgr)
                return;
@@ -259,6 +258,9 @@ void bridge_deh_notify(struct deh_mgr *deh_mgr, u32 
ulEventMask, u32 dwErrInfo)
                hw_mmu_event_ack(resources->dw_dmmu_base,
                                HW_MMU_TRANSLATION_FAULT);
                dump_dsp_stack(dev_context);
+
+               hw_mmu_disable(resources->dw_dmmu_base);
+               free_page((unsigned long)dummy_va_addr);
                break;
 #ifdef CONFIG_BRIDGE_NTFY_PWRERR
        case DSP_PWRERROR:
@@ -321,6 +323,4 @@ dsp_status bridge_deh_get_info(struct deh_mgr *deh_mgr,
 
 void bridge_deh_release_dummy_mem(void)
 {
-       free_page((unsigned long)dummy_va_addr);
-       dummy_va_addr = NULL;
 }
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to