diff options
author | Sumit Gupta <sumitg@nvidia.com> | 2021-01-20 06:25:25 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2021-02-19 13:39:57 -0500 |
commit | 535e9b1dd73cca91bf2217ccce49585c7b1afdeb (patch) | |
tree | 2c83cc8188988fb599d63219bfa4c936dacffbe7 /drivers/gpu/nvgpu | |
parent | 438215b056feef0861b07b9111a1e6438dfc290e (diff) |
gpu: nvgpu: fix mutex wrong acquire
Wrong acquire/release sequence.
DEBUG_LOCKS_WARN_ON(rt_mutex_owner(lock) != current)
....
CPU: 4 PID: 5404 Comm: cyclictest.sh Not tainted 4.9.201-rt134-tegra #1
Hardware name: Jetson-AGX (DT)
....
Call trace:
[<ffffff800810e4f8>] debug_rt_mutex_unlock+0x58/0x68
[<ffffff8008f34d0c>] rt_mutex_unlock+0x4c/0xb0
[<ffffff8008f36ea8>] _mutex_unlock+0x20/0x2c
[<ffffff8000f69d80>] nvgpu_cg_elcg_set_elcg_enabled+0x78/0xf0 [nvgpu]
[<ffffff8000f7bd44>] nvgpu_intr_nonstall_cb+0x21bc/0x22f0 [nvgpu]
[<ffffff800875b304>] dev_attr_store+0x44/0x60
[<ffffff80082dca44>] sysfs_kf_write+0x5c/0x78
[<ffffff80082dbd28>] kernfs_fop_write+0xc0/0x1d8
[<ffffff8008245b60>] __vfs_write+0x48/0x128
[<ffffff8008246b3c>] vfs_write+0xac/0x1b8
[<ffffff800824808c>] SyS_write+0x5c/0xc8
Bug 3227296
Suggested-by: Bibek Basu <bbasu@nvidia.com>
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Change-Id: I932a23700539422c07de045dde516c52dd8348cf
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2472903
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: Sagar Kamble <skamble@nvidia.com>
Reviewed-by: Bibek Basu <bbasu@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: Bibek Basu <bbasu@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
Diffstat (limited to 'drivers/gpu/nvgpu')
-rw-r--r-- | drivers/gpu/nvgpu/common/power_features/cg/cg.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/common/power_features/cg/cg.c b/drivers/gpu/nvgpu/common/power_features/cg/cg.c index 7b66a81d..2c61fb29 100644 --- a/drivers/gpu/nvgpu/common/power_features/cg/cg.c +++ b/drivers/gpu/nvgpu/common/power_features/cg/cg.c | |||
@@ -473,7 +473,7 @@ void nvgpu_cg_elcg_set_elcg_enabled(struct gk20a *g, bool enable) | |||
473 | 473 | ||
474 | gk20a_gr_wait_initialized(g); | 474 | gk20a_gr_wait_initialized(g); |
475 | 475 | ||
476 | nvgpu_mutex_release(&g->cg_pg_lock); | 476 | nvgpu_mutex_acquire(&g->cg_pg_lock); |
477 | if (enable) { | 477 | if (enable) { |
478 | if (!g->elcg_enabled) { | 478 | if (!g->elcg_enabled) { |
479 | g->elcg_enabled = true; | 479 | g->elcg_enabled = true; |