From e6e1004dd59fa43858779c7d3ac1e26602d14bc3 Mon Sep 17 00:00:00 2001 From: Maheshwar Ajja Date: Tue, 6 Apr 2021 11:19:08 -0700 Subject: [PATCH] video: driver: skip core deinit if deinited already Do not try to deinitialize core if core was already in deinited. Also in failed cases skip calling venus_hfi_core_deinit() from within venus_hfi_core_init() as the caller will anyway call venus_hfi_core_deinit(). Change-Id: Idda3d989a8eb500b0d5392a1eac65109e3d73b81 Signed-off-by: Maheshwar Ajja --- driver/vidc/src/venus_hfi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/driver/vidc/src/venus_hfi.c b/driver/vidc/src/venus_hfi.c index dda50bc9b4..82c057b441 100644 --- a/driver/vidc/src/venus_hfi.c +++ b/driver/vidc/src/venus_hfi.c @@ -2823,7 +2823,6 @@ int venus_hfi_core_init(struct msm_vidc_core *core) error: d_vpr_h("%s(): failed\n", __func__); - venus_hfi_core_deinit(core); return rc; } @@ -2835,6 +2834,8 @@ int venus_hfi_core_deinit(struct msm_vidc_core *core) } d_vpr_h("%s(): core %pK\n", __func__, core); __strict_check(core); + if (core->state == MSM_VIDC_CORE_DEINIT) + return 0; __resume(core); __flush_debug_queue(core, core->packet, core->packet_size); __disable_subcaches(core);