From 0220409d0fcc02fe5b0be1462173343f18fcd7c0 Mon Sep 17 00:00:00 2001 From: Vedashree Vidwans Date: Mon, 24 Feb 2020 20:49:20 -0800 Subject: [PATCH] gpu: nvgpu: unit: fix mutex reacquire fail for l4t Currently, setup_sw_s2 case of test_gv11b_mm_mmu_fault_setup_sw() in hal.mm.mmu_fault fails for L4T OS. setup_sw_s2 test case executes gv11b_mm_mmu_fault_info_mem_destroy() twice consecutively. This makes the test acquire hub_isr_mutex after being destroyed; leading to failure This patch removes setup_sw_s2 case to resolve this error. Local GCOV report shows that there is no change in coverage with this change. Jira NVGPU-4780 Change-Id: I7b9470180d8f3146ac09318ed34281f723cc7e1a Signed-off-by: Vedashree Vidwans Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2302212 Tested-by: mobile promotions Reviewed-by: mobile promotions --- userspace/required_tests.json | 6 ------ .../hal/mmu_fault/gv11b_fusa/mmu-fault-gv11b-fusa.c | 12 ------------ 2 files changed, 18 deletions(-) diff --git a/userspace/required_tests.json b/userspace/required_tests.json index 6e1e4ff82..7ded3d6f2 100644 --- a/userspace/required_tests.json +++ b/userspace/required_tests.json @@ -1835,12 +1835,6 @@ "unit": "mmu_fault_gv11b_fusa", "test_level": 0 }, - { - "test": "test_gv11b_mm_mmu_fault_setup_sw", - "case": "setup_sw_s2", - "unit": "mmu_fault_gv11b_fusa", - "test_level": 0 - }, { "test": "test_acr_bootstrap_hs_acr", "case": "acr_bootstrap_hs_acr", diff --git a/userspace/units/mm/hal/mmu_fault/gv11b_fusa/mmu-fault-gv11b-fusa.c b/userspace/units/mm/hal/mmu_fault/gv11b_fusa/mmu-fault-gv11b-fusa.c index 4a7b90021..8bc1d520e 100644 --- a/userspace/units/mm/hal/mmu_fault/gv11b_fusa/mmu-fault-gv11b-fusa.c +++ b/userspace/units/mm/hal/mmu_fault/gv11b_fusa/mmu-fault-gv11b-fusa.c @@ -215,12 +215,10 @@ int test_env_init_mm_mmu_fault_gv11b_fusa(struct unit_module *m, #define F_MMU_FAULT_SETUP_SW_FAULT_BUF_ALLOC_FAIL 0 #define F_MMU_FAULT_SETUP_SW_DEFAULT 1 -#define F_MMU_FAULT_SETUP_SW_2 2 static const char *f_mmu_fault_setup_sw[] = { "mmu_fault_setup_sw_alloc_fail", "mmu_fault_setup_sw_default", - "mmu_fault_setup_sw_twice", }; int test_gv11b_mm_mmu_fault_setup_sw(struct unit_module *m, struct gk20a *g, @@ -237,11 +235,6 @@ int test_gv11b_mm_mmu_fault_setup_sw(struct unit_module *m, struct gk20a *g, branch == F_MMU_FAULT_SETUP_SW_FAULT_BUF_ALLOC_FAIL ? true : false, 0); - if (branch == F_MMU_FAULT_SETUP_SW_2) { - err = gv11b_mm_mmu_fault_setup_sw(g); - unit_assert(err == 0, goto done); - } - err = gv11b_mm_mmu_fault_setup_sw(g); unit_assert(err == 0, goto done); @@ -259,10 +252,6 @@ int test_gv11b_mm_mmu_fault_setup_sw(struct unit_module *m, struct gk20a *g, } gv11b_mm_mmu_fault_info_mem_destroy(g); - if (branch == F_MMU_FAULT_SETUP_SW_2) { - gv11b_mm_mmu_fault_info_mem_destroy(g); - } - unit_assert(g->mm.hw_fault_buf[NVGPU_MMU_FAULT_NONREPLAY_INDX].aperture == APERTURE_INVALID, goto done); @@ -794,7 +783,6 @@ struct unit_module_test mm_mmu_fault_gv11b_fusa_tests[] = { UNIT_TEST(env_init, test_env_init_mm_mmu_fault_gv11b_fusa, NULL, 0), UNIT_TEST(setup_sw_s0, test_gv11b_mm_mmu_fault_setup_sw, (void *)F_MMU_FAULT_SETUP_SW_FAULT_BUF_ALLOC_FAIL, 0), UNIT_TEST(setup_sw_s1, test_gv11b_mm_mmu_fault_setup_sw, (void *)F_MMU_FAULT_SETUP_SW_DEFAULT, 0), - UNIT_TEST(setup_sw_s2, test_gv11b_mm_mmu_fault_setup_sw, (void *)F_MMU_FAULT_SETUP_SW_2, 0), UNIT_TEST(setup_hw, test_gv11b_mm_mmu_fault_setup_hw, NULL, 0), UNIT_TEST(disable_hw_s0, test_gv11b_mm_mmu_fault_disable_hw, (void *)F_MMU_FAULT_DISABLE_HW_FALSE, 0), UNIT_TEST(disable_hw_s1, test_gv11b_mm_mmu_fault_disable_hw, (void *)F_MMU_FAULT_DISABLE_HW_TRUE, 0),