summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
diff options
context:
space:
mode:
authorDeepak Nibade <dnibade@nvidia.com>2017-07-17 08:03:17 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2017-07-18 06:44:44 -0400
commitb1c95568823d8b7b19188de06c80b303e9c62f66 (patch)
tree150b8ecabcb3b4da2bb713100804e3535123622e /drivers/gpu/nvgpu/gp10b/gr_gp10b.c
parentd3415f27c465b057a828c51dba7d8c1f70f4d289 (diff)
gpu: nvgpu: check return value of sm exception handler
In gr_gp10b_handle_sm_exception(), we do not check return value of gr_gk20a_handle_sm_exception() In case SM debug mode is disabled, gr_gk20a_handle_sm_exception() returns an error. But due to uncaught error we return success from gr_gp10b_handle_sm_exception() which results in not triggering the recovery routine and fails the tests Fix this by checking return value of gr_gk20a_handle_sm_exception() We then parse ECC errors and then finally return error value back to caller Bug 200325081 Change-Id: I0c328a75494b9ca6a070f04c1f984e2653ffd90e Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1521563 GVS: Gerrit_Virtual_Submit Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> Tested-by: Ashutosh Jain <ashutoshj@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/gr_gp10b.c')
-rw-r--r--drivers/gpu/nvgpu/gp10b/gr_gp10b.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
index 6ef27abf..67a38e6e 100644
--- a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
+++ b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c
@@ -132,7 +132,7 @@ static int gr_gp10b_handle_sm_exception(struct gk20a *g,
132 u32 lrf_single_count_delta, lrf_double_count_delta; 132 u32 lrf_single_count_delta, lrf_double_count_delta;
133 u32 shm_ecc_status; 133 u32 shm_ecc_status;
134 134
135 gr_gk20a_handle_sm_exception(g, 135 ret = gr_gk20a_handle_sm_exception(g,
136 gpc, tpc, sm, post_event, fault_ch, hww_global_esr); 136 gpc, tpc, sm, post_event, fault_ch, hww_global_esr);
137 137
138 /* Check for LRF ECC errors. */ 138 /* Check for LRF ECC errors. */