diff --git a/drivers/gpu/nvgpu/common/linux/ioctl_tsg.c b/drivers/gpu/nvgpu/common/linux/ioctl_tsg.c index 445199c26..931a32644 100644 --- a/drivers/gpu/nvgpu/common/linux/ioctl_tsg.c +++ b/drivers/gpu/nvgpu/common/linux/ioctl_tsg.c @@ -359,6 +359,7 @@ void nvgpu_ioctl_tsg_release(struct nvgpu_ref *ref) gk20a_sched_ctrl_tsg_removed(g, tsg); gk20a_tsg_release(ref); + gk20a_put(g); } int nvgpu_ioctl_tsg_dev_release(struct inode *inode, struct file *filp) diff --git a/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c b/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c index ff700372c..d9ddc0110 100644 --- a/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/tsg_gk20a.c @@ -347,7 +347,6 @@ void gk20a_tsg_release(struct nvgpu_ref *ref) tsg->runlist_id = ~0; gk20a_dbg(gpu_dbg_fn, "tsg released %d\n", tsg->tsgid); - gk20a_put(g); } struct tsg_gk20a *tsg_gk20a_from_ch(struct channel_gk20a *ch)