From 268e772e807460cee64e354c025d43d8e24574b8 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Tue, 8 Nov 2016 13:36:17 -0800 Subject: gpu: nvgpu: Deal with invalid MMU id If gk20a_engine_id_to_mmu_id() fails, it returns ~0. Deal with this by checking the results in each call to it. Change-Id: I6fb9f7151f21a6c4694bfb2ea3c960d344fe629f Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/1249965 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gm20b/fifo_gm20b.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'drivers/gpu/nvgpu/gm20b/fifo_gm20b.c') diff --git a/drivers/gpu/nvgpu/gm20b/fifo_gm20b.c b/drivers/gpu/nvgpu/gm20b/fifo_gm20b.c index a8934035..3b877db1 100644 --- a/drivers/gpu/nvgpu/gm20b/fifo_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/fifo_gm20b.c @@ -74,16 +74,15 @@ static void gm20b_fifo_trigger_mmu_fault(struct gk20a *g, /* trigger faults for all bad engines */ for_each_set_bit(engine_id, &engine_ids, 32) { - u32 engine_mmu_fault_id; - if (!gk20a_fifo_is_valid_engine_id(g, engine_id)) { gk20a_err(dev_from_gk20a(g), "faulting unknown engine %ld", engine_id); } else { - engine_mmu_fault_id = gm20b_engine_id_to_mmu_id(g, + u32 mmu_id = gm20b_engine_id_to_mmu_id(g, engine_id); - gk20a_writel(g, fifo_trigger_mmu_fault_r(engine_id), - fifo_trigger_mmu_fault_enable_f(1)); + if (mmu_id != ~0) + gk20a_writel(g, fifo_trigger_mmu_fault_r(mmu_id), + fifo_trigger_mmu_fault_enable_f(1)); } } -- cgit v1.2.2