diff options
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/as_gk20a.c | 3 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/as_gk20a.c b/drivers/gpu/nvgpu/gk20a/as_gk20a.c index cd5cdd48..fa131bb1 100644 --- a/drivers/gpu/nvgpu/gk20a/as_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/as_gk20a.c | |||
@@ -247,6 +247,9 @@ int gk20a_as_dev_release(struct inode *inode, struct file *filp) | |||
247 | 247 | ||
248 | gk20a_dbg_fn(""); | 248 | gk20a_dbg_fn(""); |
249 | 249 | ||
250 | if (!as_share) | ||
251 | return 0; | ||
252 | |||
250 | return gk20a_as_release_share(as_share); | 253 | return gk20a_as_release_share(as_share); |
251 | } | 254 | } |
252 | 255 | ||
diff --git a/drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c b/drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c index 4e85abc8..c8fe34a8 100644 --- a/drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/ctrl_gk20a.c | |||
@@ -170,13 +170,15 @@ static int gk20a_ctrl_alloc_as( | |||
170 | 170 | ||
171 | err = gk20a_as_alloc_share(&g->as, args->big_page_size, &as_share); | 171 | err = gk20a_as_alloc_share(&g->as, args->big_page_size, &as_share); |
172 | if (err) | 172 | if (err) |
173 | goto clean_up; | 173 | goto clean_up_file; |
174 | 174 | ||
175 | file->private_data = as_share; | 175 | file->private_data = as_share; |
176 | 176 | ||
177 | args->as_fd = fd; | 177 | args->as_fd = fd; |
178 | return 0; | 178 | return 0; |
179 | 179 | ||
180 | clean_up_file: | ||
181 | fput(file); | ||
180 | clean_up: | 182 | clean_up: |
181 | put_unused_fd(fd); | 183 | put_unused_fd(fd); |
182 | return err; | 184 | return err; |