diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/nvgpu/common/linux/firmware.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/firmware.c b/drivers/gpu/nvgpu/common/linux/firmware.c index 32b1e61f..43728f05 100644 --- a/drivers/gpu/nvgpu/common/linux/firmware.c +++ b/drivers/gpu/nvgpu/common/linux/firmware.c | |||
@@ -93,7 +93,7 @@ struct nvgpu_firmware *nvgpu_request_firmware(struct gk20a *g, | |||
93 | 93 | ||
94 | fw->data = nvgpu_kmalloc(g, linux_fw->size); | 94 | fw->data = nvgpu_kmalloc(g, linux_fw->size); |
95 | if (!fw->data) | 95 | if (!fw->data) |
96 | goto err; | 96 | goto err_release; |
97 | 97 | ||
98 | memcpy(fw->data, linux_fw->data, linux_fw->size); | 98 | memcpy(fw->data, linux_fw->data, linux_fw->size); |
99 | fw->size = linux_fw->size; | 99 | fw->size = linux_fw->size; |
@@ -102,6 +102,8 @@ struct nvgpu_firmware *nvgpu_request_firmware(struct gk20a *g, | |||
102 | 102 | ||
103 | return fw; | 103 | return fw; |
104 | 104 | ||
105 | err_release: | ||
106 | release_firmware(linux_fw); | ||
105 | err: | 107 | err: |
106 | nvgpu_kfree(g, fw); | 108 | nvgpu_kfree(g, fw); |
107 | return NULL; | 109 | return NULL; |