Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f607704b authored by Govindaraj Rajagopal's avatar Govindaraj Rajagopal
Browse files

msm: vidc: fix msm_vidc_err_recovery_disable for non_noc_err



disable error_recovery for non-NOC error if VIDC_DISABLE_NON_NOC_ERR_RECOV
is set. but error_recovery is getting disabled even for type NOC error
when VIDC_DISABLE_NON_NOC_ERR_RECOV is set.

[1] Only NOC error
    adb shell "echo 1 > /d/msm_vidc/disable_err_recovery"

[2] Only non-NOC error
    adb shell "echo 2 > /d/msm_vidc/disable_err_recovery"

[3] Both NOC & non-NOC error
    adb shell "echo 3 > /d/msm_vidc/disable_err_recovery"

Change-Id: Ia09ca23708d41a77f1d77cf6ed57506a16b32c73
Signed-off-by: default avatarGovindaraj Rajagopal <grajagop@codeaurora.org>
parent 34fa9710
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -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);
	}