summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/nvgpu/common/linux/firmware.c4
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
105err_release:
106 release_firmware(linux_fw);
105err: 107err:
106 nvgpu_kfree(g, fw); 108 nvgpu_kfree(g, fw);
107 return NULL; 109 return NULL;