From 3a87a0c99819d9b00d4b7e414ec0ecfeaade961c Mon Sep 17 00:00:00 2001 From: Vince Hsu Date: Fri, 2 Nov 2018 15:29:29 +0800 Subject: [PATCH] gpu: nvgpu: re-initialize fw pointer when failed to load fw When ACR and PMU BL fail to boot, the firmware are releasd, but the firmware pointers are not re-initialized. That causes later invalid pointer usage. Fix that by setting them as NULL. Bug 200462464 Change-Id: Iacdf4b3c7f7144a77f595c77e6f5a29d35505672 Signed-off-by: Vince Hsu Reviewed-on: https://git-master.nvidia.com/r/1941671 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gm20b/acr_gm20b.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/nvgpu/gm20b/acr_gm20b.c b/drivers/gpu/nvgpu/gm20b/acr_gm20b.c index 834e82987..58751c7a2 100644 --- a/drivers/gpu/nvgpu/gm20b/acr_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/acr_gm20b.c @@ -1172,6 +1172,7 @@ err_free_ucode: nvgpu_dma_free(g, &hs_bl->hs_bl_ucode); err_done: nvgpu_release_firmware(g, hs_bl_fw); + acr_desc->acr_hs_bl.hs_bl_fw = NULL; return err; } @@ -1342,7 +1343,7 @@ err_free_ucode_map: nvgpu_dma_unmap_free(vm, acr_ucode_mem); err_release_acr_fw: nvgpu_release_firmware(g, acr_fw); - acr_fw = NULL; + acr_desc->acr_fw = NULL; return status; }