diff --git a/msm/vidc/msm_vidc_common.c b/msm/vidc/msm_vidc_common.c index cfeeb7dfe0de..dbbff4d938be 100644 --- a/msm/vidc/msm_vidc_common.c +++ b/msm/vidc/msm_vidc_common.c @@ -2168,6 +2168,7 @@ static void handle_sys_error(enum hal_command_response cmd, void *data) struct hfi_device *hdev = NULL; struct msm_vidc_inst *inst = NULL; int rc = 0; + bool panic = false; subsystem_crashed("venus"); if (!response) { @@ -2203,12 +2204,11 @@ static void handle_sys_error(enum hal_command_response cmd, void *data) } /* handle the hw error before core released to get full debug info */ - msm_vidc_handle_hw_error(core); - if ((response->status == VIDC_ERR_NOC_ERROR && - (msm_vidc_err_recovery_disable & - VIDC_DISABLE_NOC_ERR_RECOV)) || - (msm_vidc_err_recovery_disable & - VIDC_DISABLE_NON_NOC_ERR_RECOV)) { + if (response->status == VIDC_ERR_NOC_ERROR) + panic = !!(msm_vidc_err_recovery_disable & VIDC_DISABLE_NOC_ERR_RECOV); + else + panic = !!(msm_vidc_err_recovery_disable & VIDC_DISABLE_NON_NOC_ERR_RECOV); + if (panic) { d_vpr_e("Got unrecoverable video fw error"); MSM_VIDC_ERROR(true); }