From 9cdc1ccdafa955ba2d9a9b238d05f15566869039 Mon Sep 17 00:00:00 2001 From: Vince Hsu Date: Fri, 2 Nov 2018 15:29:29 +0800 Subject: 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 (cherry picked from commit 3a87a0c99819d9b00d4b7e414ec0ecfeaade961c) Reviewed-on: https://git-master.nvidia.com/r/1942950 GVS: Gerrit_Virtual_Submit Reviewed-by: Siddardha Naraharisetti Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/gm20b/acr_gm20b.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'drivers/gpu') diff --git a/drivers/gpu/nvgpu/gm20b/acr_gm20b.c b/drivers/gpu/nvgpu/gm20b/acr_gm20b.c index e38e9a85..4f684191 100644 --- a/drivers/gpu/nvgpu/gm20b/acr_gm20b.c +++ b/drivers/gpu/nvgpu/gm20b/acr_gm20b.c @@ -1168,6 +1168,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; } @@ -1338,7 +1339,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; } -- cgit v1.2.2