lib: arm_ffa: Add more missing uint32_t casts am: ce576b459a Original change: https://android-review.googlesource.com/c/trusty/lk/trusty/+/3463141 Change-Id: I5be293fc847759968586adca04c2e75934e36558 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/lib/arm_ffa/arm_ffa.c b/lib/arm_ffa/arm_ffa.c index 446046d..e5d56ef 100644 --- a/lib/arm_ffa/arm_ffa.c +++ b/lib/arm_ffa/arm_ffa.c
@@ -211,7 +211,8 @@ /* FRAG_RX is followed by FRAG_TX on successful completion. */ switch ((uint32_t)smc_ret.r0) { case SMC_FC_FFA_MEM_FRAG_TX: { - uint64_t handle_out = smc_ret.r1 + ((uint64_t)smc_ret.r2 << 32); + uint64_t handle_out = + (uint32_t)smc_ret.r1 | ((uint64_t)(uint32_t)smc_ret.r2 << 32); if (handle != handle_out) { TRACEF("Handle for response doesn't match the request, %" PRId64 " != %" PRId64, @@ -416,7 +417,7 @@ uint32_t flags; DEBUG_ASSERT(direct_req_regs); - switch (direct_req_regs->r0) { + switch ((uint32_t)direct_req_regs->r0) { case SMC_FC_FFA_MSG_SEND_DIRECT_REQ: fid = SMC_FC_FFA_MSG_SEND_DIRECT_RESP; break; @@ -430,8 +431,8 @@ } /* Copy and flip the sender from the direct message request */ - sender_receiver_id = - (direct_req_regs->r1 >> 16) | ((uint32_t)ffa_local_id << 16); + sender_receiver_id = ((uint32_t)direct_req_regs->r1 >> 16) | + ((uint32_t)ffa_local_id << 16); /* Copy the flags as well */ flags = direct_req_regs->r2;