Deferred MMU fault did not clear stored mmu_fault_engines variable
and this caused the MMU fault handler to handle subsequent MMU fault
as a fake fault.
This patch modifies the code so that we clear the mmu_fault_engines
variable if we need to continue fault handling on channel tear down.
Bug
1472328
Change-Id: Iabec72575072b207aef1b05ef2f661d7dc8f3c40
Signed-off-by: Arto Merilainen <amerilainen@nvidia.com>
Reviewed-on: http://git-master/r/378790
Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: Ken Adams <kadams@nvidia.com>
nvhost_dbg(dbg_intr | dbg_gpu_dbg, "engine reset was"
" deferred, running now");
fifo_gk20a_finish_mmu_fault_handling(g, g->fifo.mmu_fault_engines);
+ g->fifo.mmu_fault_engines = 0;
g->fifo.deferred_reset_pending = false;
}
mutex_unlock(&f->deferred_reset_mutex);