msm: vidc: Communicate session error to client if aborted.

msm_comm_kill_session is called in driver only in situations where
the driver state goes bad. session_abort is called on firmware
which may be honored. But still the session_error needs to be
communicated to the client or else client will operate oblivious
about the bad video driver state.

Change-Id: Iafb90cde31a985bf5377fdcdd1a9653a965c5600
Signed-off-by: Abdulla Anam <abdullahanam@codeaurora.org>
This commit is contained in:
Abdulla Anam 2016-05-05 02:46:29 +05:30 committed by Kyle Yan
parent ed6ef4b170
commit 9a3382024f

View file

@ -4952,14 +4952,12 @@ int msm_comm_kill_session(struct msm_vidc_inst *inst)
if ((inst->state >= MSM_VIDC_OPEN_DONE &&
inst->state < MSM_VIDC_CLOSE_DONE) ||
inst->state == MSM_VIDC_CORE_INVALID) {
rc = msm_comm_session_abort(inst);
if (rc == -EBUSY) {
if (msm_comm_session_abort(inst)) {
msm_comm_generate_sys_error(inst);
return 0;
} else if (rc)
return rc;
}
change_inst_state(inst, MSM_VIDC_CLOSE_DONE);
msm_comm_generate_session_error(inst);
} else {
dprintk(VIDC_WARN,
"Inactive session %p, triggering an internal session error\n",