diff --git a/[refs] b/[refs] index dbb18b594c1f..4ee7d6041394 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4574fae58d840d78e44ae33236899f92bfb6b4a9 +refs/heads/master: 62f5242e2e275fe526d65733535591c065cc87a5 diff --git a/trunk/drivers/staging/tidspbridge/core/ue_deh.c b/trunk/drivers/staging/tidspbridge/core/ue_deh.c index 06167ed58e80..793e9823373d 100644 --- a/trunk/drivers/staging/tidspbridge/core/ue_deh.c +++ b/trunk/drivers/staging/tidspbridge/core/ue_deh.c @@ -186,6 +186,14 @@ void bridge_deh_notify(struct deh_mgr *deh_mgr, u32 ulEventMask, u32 dwErrInfo) print_dsp_trace_buffer(dev_context); dump_dl_modules(dev_context); + /* + * Before acking the MMU fault, let's make sure MMU can only + * access entry #0. Then add a new entry so that the DSP OS + * can continue in order to dump the stack. + */ + hw_mmu_twl_disable(resources->dw_dmmu_base); + hw_mmu_tlb_flush_all(resources->dw_dmmu_base); + hw_mmu_tlb_add(resources->dw_dmmu_base, virt_to_phys(dummy_va_addr), fault_addr, HW_PAGE_SIZE4KB, 1,