diff --git a/drivers/char/adsprpc.c b/drivers/char/adsprpc.c index a7482948c483..67475cb50994 100644 --- a/drivers/char/adsprpc.c +++ b/drivers/char/adsprpc.c @@ -2844,15 +2844,15 @@ static int fastrpc_internal_invoke(struct fastrpc_file *fl, uint32_t mode, inv_args(ctx); PERF_END); - VERIFY(err, 0 == (err = ctx->retval)); - if (err) - goto bail; - PERF(fl->profile, GET_COUNTER(perf_counter, PERF_PUTARGS), VERIFY(err, 0 == (err = put_args(kernel, ctx, invoke->pra))); PERF_END); if (err) goto bail; + + VERIFY(err, 0 == (err = ctx->retval)); + if (err) + goto bail; bail: if (ctx && interrupted == -ERESTARTSYS) { trace_fastrpc_context_interrupt(cid, (uint64_t)ctx,