From 8b45a5e016438dc4f020959ab89390de5eb353ed Mon Sep 17 00:00:00 2001 From: Seshendra Gadagottu Date: Mon, 27 Jun 2016 10:33:55 -0700 Subject: gpu: nvgpu: fix coverity issues in sysfs/debugfs Fix coverity issues in debugfs related to null check before accessing data member. Fix coverity issues in sysfs related to error code over-write and unintilized error code. coverity ids: 20087564, 20087460, 20087461 Bug 200192125 Change-Id: If82288fca18464dca7093ce10f0beb1272489609 Signed-off-by: Seshendra Gadagottu Reviewed-on: http://git-master/r/1171943 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom --- drivers/gpu/nvgpu/gk20a/debug_gk20a.c | 20 ++++++++++---------- drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c | 5 ++++- 2 files changed, 14 insertions(+), 11 deletions(-) (limited to 'drivers') diff --git a/drivers/gpu/nvgpu/gk20a/debug_gk20a.c b/drivers/gpu/nvgpu/gk20a/debug_gk20a.c index f1e1f98a..a57a3c74 100644 --- a/drivers/gpu/nvgpu/gk20a/debug_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/debug_gk20a.c @@ -381,22 +381,22 @@ void gk20a_debug_init(struct device *dev) if (platform->debugfs) { platform->debugfs_alias = debugfs_create_symlink("gpu.0", NULL, dev_name(dev)); - } - debugfs_create_file("status", S_IRUGO, platform->debugfs, + debugfs_create_file("status", S_IRUGO, platform->debugfs, dev, &gk20a_debug_fops); - debugfs_create_file("gr_status", S_IRUGO, platform->debugfs, + debugfs_create_file("gr_status", S_IRUGO, platform->debugfs, dev, &gk20a_gr_debug_fops); - debugfs_create_u32("trace_cmdbuf", S_IRUGO|S_IWUSR, platform->debugfs, - &gk20a_debug_trace_cmdbuf); + debugfs_create_u32("trace_cmdbuf", S_IRUGO|S_IWUSR, + platform->debugfs, &gk20a_debug_trace_cmdbuf); - debugfs_create_u32("ch_wdt_timeout_ms", S_IRUGO|S_IWUSR, + debugfs_create_u32("ch_wdt_timeout_ms", S_IRUGO|S_IWUSR, platform->debugfs, &platform->ch_wdt_timeout_ms); #if defined(GK20A_DEBUG) - debugfs_create_u32("dbg_mask", S_IRUGO|S_IWUSR, platform->debugfs, - &gk20a_dbg_mask); - debugfs_create_u32("dbg_ftrace", S_IRUGO|S_IWUSR, platform->debugfs, - &gk20a_dbg_ftrace); + debugfs_create_u32("dbg_mask", S_IRUGO|S_IWUSR, + platform->debugfs, &gk20a_dbg_mask); + debugfs_create_u32("dbg_ftrace", S_IRUGO|S_IWUSR, + platform->debugfs, &gk20a_dbg_ftrace); #endif + } } diff --git a/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c b/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c index 119030f9..127d0258 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c +++ b/drivers/gpu/nvgpu/gk20a/gk20a_sysfs.c @@ -284,7 +284,7 @@ static ssize_t railgate_enable_store(struct device *dev, struct generic_pm_domain *genpd = dev_to_genpd(dev); struct gk20a *g = get_gk20a(dev); unsigned long railgate_enable = 0; - int err; + int err = 0; if (kstrtoul(buf, 10, &railgate_enable) < 0) return -EINVAL; @@ -309,6 +309,9 @@ static ssize_t railgate_enable_store(struct device *dev, err = platform->unrailgate(dev); mutex_unlock(&platform->railgate_lock); } + if (err) + return err; + dev_info(dev, "railgate is %s.\n", platform->can_railgate ? "enabled" : "disabled"); /* wake-up system to make railgating_enable effective immediately */ -- cgit v1.2.2