summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/os/linux/ioctl_tsg.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/os/linux/ioctl_tsg.c b/drivers/gpu/nvgpu/os/linux/ioctl_tsg.c
index 8eb5f014..7ebf4291 100644
--- a/drivers/gpu/nvgpu/os/linux/ioctl_tsg.c
+++ b/drivers/gpu/nvgpu/os/linux/ioctl_tsg.c
@@ -467,7 +467,14 @@ void nvgpu_ioctl_tsg_release(struct nvgpu_ref *ref)
467int nvgpu_ioctl_tsg_dev_release(struct inode *inode, struct file *filp) 467int nvgpu_ioctl_tsg_dev_release(struct inode *inode, struct file *filp)
468{ 468{
469 struct tsg_private *priv = filp->private_data; 469 struct tsg_private *priv = filp->private_data;
470 struct tsg_gk20a *tsg = priv->tsg; 470 struct tsg_gk20a *tsg;
471
472 if (!priv) {
473 /* open failed, never got a tsg for this file */
474 return 0;
475 }
476
477 tsg = priv->tsg;
471 478
472 nvgpu_ref_put(&tsg->refcount, nvgpu_ioctl_tsg_release); 479 nvgpu_ref_put(&tsg->refcount, nvgpu_ioctl_tsg_release);
473 nvgpu_kfree(tsg->g, priv); 480 nvgpu_kfree(tsg->g, priv);