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

Commit 1dc89d34 authored by Ashray Kulkarni's avatar Ashray Kulkarni Committed by Gerrit - the friendly Code Review server
Browse files

msm: vidc: fix error handling during hardware overload error



when hardware overload error happens, session_abort gets called
multiple times as part of error handling and cleanup. This results
in firmware timing out for successive commands. Firmware timeout
sends sys_error to all clients causing all sessions to close. This
change cleans the last session and allows previous running sessions
to continue.

Change-Id: Ia7ab600af2345896a4bb17dc726d0bdc473f93fe
Signed-off-by: default avatarAshray Kulkarni <ashrayk@codeaurora.org>
parent da9777c8
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -2721,19 +2721,19 @@ static int venus_hfi_session_end(void *session)
	return rc;
}

static int venus_hfi_session_abort(void *session)
static int venus_hfi_session_abort(void *sess)
{
	struct hal_session *sess;
	struct hal_session *session;
	struct venus_hfi_device *device;
	int rc = 0;
	session = sess;

	if (!session) {
	if (!session || !session->device) {
		dprintk(VIDC_ERR, "Invalid Params %s\n", __func__);
		return -EINVAL;
	}

	sess = session;
	device = sess->device;
	device = session->device;

	mutex_lock(&device->lock);

@@ -2743,7 +2743,6 @@ static int venus_hfi_session_abort(void *session)
	mutex_unlock(&device->lock);

	return rc;

}

static int venus_hfi_session_set_buffers(void *sess,