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

Commit 78edf2e8 authored by Praneeth Paladugu's avatar Praneeth Paladugu
Browse files

msm: vidc: Handle max clients error properly



When FW returned max clients error, driver is changing inst->state
to INVALID. With this driver doesn't know if FW had valid session or
not to send ABORT command. If driver sends ABORT command, FW times out
because there is no session in FW. Hence clean the session in HFI when
FW returns max clients error so that ABORT doesn't reach FW.

Change-Id: I3543e2fb184b5cf747772b3b4cf7c84b6ef2a794
Signed-off-by: default avatarPraneeth Paladugu <ppaladug@codeaurora.org>
parent fd854d74
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1178,6 +1178,14 @@ static void handle_session_error(enum hal_command_response cmd, void *data)
			inst);
		msm_vidc_queue_v4l2_event(inst,
			V4L2_EVENT_MSM_VIDC_MAX_CLIENTS);

		/* Clean the HFI session now. Since inst->state is moved to
		 * INVLAID, forward thread doesn't know FW has valid session
		 * or not. This is the last place driver knows that there is
		 * no session in FW. Hence clean HFI session now.
		 */

		msm_comm_session_clean(inst);
	} else {
		dprintk(VIDC_ERR,
			"send session error to client: %p\n",