summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlvin Park <apark@nvidia.com>2020-12-14 20:34:44 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2021-10-21 10:10:24 -0400
commit4d17d8b10431b1ba5775d35b34e76dbb8f9b448a (patch)
treee2afb126a533aac3aa493798429f1be6efdc1747
parent725a5eaa801098f5f59762a87b7200803e82551c (diff)
gpu: nvgpu: add check for is_railgated
When try to read '/sys/kernel/debug/gpu.0/railgate_residency' debug fs node, NULL pointer access error can be happened if is_railgated function is not assinged. Add check for is_railgated before calling the function pointer. Bug 200773027 Change-Id: I914b5b0aa48ccb15affe79510b696ebc91129f67 Signed-off-by: Aditya Gupta <adigupta@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2596320 (cherry picked from commit e649029c7bed3c7afbd454d7e94f9173377f4c64) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2614156 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: Rohit Upadhyay <rupadhyay@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
-rw-r--r--drivers/gpu/nvgpu/os/linux/debug.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/nvgpu/os/linux/debug.c b/drivers/gpu/nvgpu/os/linux/debug.c
index d7e3f1e7..b8c45965 100644
--- a/drivers/gpu/nvgpu/os/linux/debug.c
+++ b/drivers/gpu/nvgpu/os/linux/debug.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (C) 2017-2020 NVIDIA Corporation. All rights reserved. 2 * Copyright (C) 2017-2021 NVIDIA Corporation. All rights reserved.
3 * 3 *
4 * This software is licensed under the terms of the GNU General Public 4 * This software is licensed under the terms of the GNU General Public
5 * License version 2, as published by the Free Software Foundation, and 5 * License version 2, as published by the Free Software Foundation, and
@@ -224,7 +224,7 @@ static int railgate_residency_show(struct seq_file *s, void *data)
224 unsigned long total_rail_gate_time_ms; 224 unsigned long total_rail_gate_time_ms;
225 unsigned long total_rail_ungate_time_ms; 225 unsigned long total_rail_ungate_time_ms;
226 226
227 if (platform->is_railgated && platform->is_railgated(dev_from_gk20a(g))) { 227 if (platform && platform->is_railgated && platform->is_railgated(dev_from_gk20a(g))) {
228 time_since_last_state_transition_ms = 228 time_since_last_state_transition_ms =
229 jiffies_to_msecs(jiffies - 229 jiffies_to_msecs(jiffies -
230 g->pstats.last_rail_gate_complete); 230 g->pstats.last_rail_gate_complete);