fix: make the invocation of ffa_msg_wait v1.1 compliant
The invocation of FFA_MSG_WAIT at secure virtual FF-A instance is
made to be compliant with FF-A v1.1 EAC0 specification. It's
only use is to perform the state transition from RUNNING to WAITING
for the following Partition runtime models: RTM_FFA_RUN,
RTM_SEC_INTERRUPT, and RTM_SP_INIT.
However, the invocation of FFA_MSG_WAIT at non-secure virtual FF-A
instance is made to be compliant with the FF-A v1.0 spec for
legacy reasons.
Signed-off-by: Madhukar Pappireddy <madhukar.pappireddy@arm.com>
Change-Id: Ic63f07c9ce6e6c3be9df2a849900b30eb61fcf6d
diff --git a/src/api.c b/src/api.c
index 568d371..ae9bb68 100644
--- a/src/api.c
+++ b/src/api.c
@@ -692,7 +692,6 @@
struct ffa_value api_ffa_msg_wait(struct vcpu *current, struct vcpu **next,
struct ffa_value *args)
{
- struct ffa_value ret;
enum vcpu_state next_state = VCPU_STATE_WAITING;
if (args->arg1 != 0U || args->arg2 != 0U || args->arg3 != 0U ||
@@ -709,11 +708,7 @@
assert(next_state == VCPU_STATE_WAITING);
- if (plat_ffa_msg_wait_prepare(current, next, &ret)) {
- return ret;
- }
-
- return api_ffa_msg_recv(true, current, next);
+ return plat_ffa_msg_wait_prepare(current, next);
}
/**