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

Commit 859f801b authored by Jeya R's avatar Jeya R
Browse files

msm: ADSPRPC: Handle Glink Rx Ack Properly



In error conditions, acknowledged glink messages in
glink rx notification.

Change-Id: I0e27ed92675d3e34187a72e06a109293bf63a067
Acked-by: default avatarKrishnaiah Tadakamalla <ktadakam@qti.qualcomm.com>
Signed-off-by: default avatarJeya R <jeyr@codeaurora.org>
parent 3b3be5e1
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -2085,8 +2085,6 @@ static int fastrpc_internal_invoke(struct fastrpc_file *fl, uint32_t mode,
		if (err)
			goto bail;
	}
	if (ctx->handle)
		glink_rx_done(ctx->handle, ctx->ptr, true);
	PERF(fl->profile, GET_COUNTER(perf_counter, PERF_INVARGS),
	if (!fl->sctx->smmu.coherent)
		inv_args(ctx);
@@ -2102,6 +2100,10 @@ static int fastrpc_internal_invoke(struct fastrpc_file *fl, uint32_t mode,
	if (err)
		goto bail;
 bail:
	if (ctx->handle) {
		glink_rx_done(ctx->handle, ctx->ptr, true);
		ctx->handle = NULL;
	}
	if (ctx && interrupted == -ERESTARTSYS)
		context_save_interrupted(ctx);
	else if (ctx)
@@ -2950,9 +2952,11 @@ static void fastrpc_glink_notify_rx(void *handle, const void *priv,

	context_notify_user(me->ctxtable[index], rsp->retval);
bail:
	if (err)
	if (err) {
		glink_rx_done(handle, ptr, true);
		pr_err("adsprpc: invalid response or context\n");
	}
}

static void fastrpc_glink_notify_state(void *handle, const void *priv,
				unsigned int event)