diff options
author | Seema Khowala <seemaj@nvidia.com> | 2017-03-17 14:29:53 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-03-23 20:18:52 -0400 |
commit | a8efce77f5fab497b477d1f5fd461cded528bc0b (patch) | |
tree | a605dd54e9de43245436b97c755a120d85b40af5 /drivers/gpu/nvgpu/gp10b/gr_gp10b.c | |
parent | e1e059454a00ea28c5c9ab992eaf7f7c6780c3b8 (diff) |
gpu: nvgpu: null check for fault_ch
gk20a_gr_get_channel_from_ctx() could return NULL as a result
fault_ch could be null
JIRA GPUT19X-7
Change-Id: I2c8f099f63f30e576ecd221e3bec25070b026ced
Signed-off-by: Seema Khowala <seemaj@nvidia.com>
Reviewed-on: http://git-master/r/1323252
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gp10b/gr_gp10b.c')
-rw-r--r-- | drivers/gpu/nvgpu/gp10b/gr_gp10b.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c index 6de6b599..7f43a6ce 100644 --- a/drivers/gpu/nvgpu/gp10b/gr_gp10b.c +++ b/drivers/gpu/nvgpu/gp10b/gr_gp10b.c | |||
@@ -1759,8 +1759,7 @@ static int gr_gp10b_pre_process_sm_exception(struct gk20a *g, | |||
1759 | bool *early_exit, bool *ignore_debugger) | 1759 | bool *early_exit, bool *ignore_debugger) |
1760 | { | 1760 | { |
1761 | int ret; | 1761 | int ret; |
1762 | bool cilp_enabled = (fault_ch->ch_ctx.gr_ctx->compute_preempt_mode == | 1762 | bool cilp_enabled = false; |
1763 | NVGPU_COMPUTE_PREEMPTION_MODE_CILP) ; | ||
1764 | u32 global_mask = 0, dbgr_control0, global_esr_copy; | 1763 | u32 global_mask = 0, dbgr_control0, global_esr_copy; |
1765 | u32 gpc_stride = nvgpu_get_litter_value(g, GPU_LIT_GPC_STRIDE); | 1764 | u32 gpc_stride = nvgpu_get_litter_value(g, GPU_LIT_GPC_STRIDE); |
1766 | u32 tpc_in_gpc_stride = nvgpu_get_litter_value(g, GPU_LIT_TPC_IN_GPC_STRIDE); | 1765 | u32 tpc_in_gpc_stride = nvgpu_get_litter_value(g, GPU_LIT_TPC_IN_GPC_STRIDE); |
@@ -1769,6 +1768,10 @@ static int gr_gp10b_pre_process_sm_exception(struct gk20a *g, | |||
1769 | *early_exit = false; | 1768 | *early_exit = false; |
1770 | *ignore_debugger = false; | 1769 | *ignore_debugger = false; |
1771 | 1770 | ||
1771 | if (fault_ch) | ||
1772 | cilp_enabled = (fault_ch->ch_ctx.gr_ctx->compute_preempt_mode == | ||
1773 | NVGPU_COMPUTE_PREEMPTION_MODE_CILP); | ||
1774 | |||
1772 | gk20a_dbg(gpu_dbg_fn | gpu_dbg_gpu_dbg, "SM Exception received on gpc %d tpc %d = %u\n", | 1775 | gk20a_dbg(gpu_dbg_fn | gpu_dbg_gpu_dbg, "SM Exception received on gpc %d tpc %d = %u\n", |
1773 | gpc, tpc, global_esr); | 1776 | gpc, tpc, global_esr); |
1774 | 1777 | ||