From addc4e969bb157d736ccd0d46db85c8e9c835d42 Mon Sep 17 00:00:00 2001 From: Ravi Patel Date: Mon, 23 Nov 2020 04:19:08 -0800 Subject: [PATCH] plat: xilinx: Mask unnecessary bytes of return error code Versal firmware adds extra error codes along with PM error codes while sending response to driver. This makes incorrect error identification at driver side. To fix this, mask the unnecessary error bytes before sending the error code to the driver. Signed-off-by: Ravi Patel Signed-off-by: Rajan Vaja Change-Id: I18c2f3bd2d067e91344852c2f0c1bafea0e6eb23 --- plat/xilinx/common/pm_service/pm_ipi.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plat/xilinx/common/pm_service/pm_ipi.c b/plat/xilinx/common/pm_service/pm_ipi.c index c83d25b0d..5dcceaea2 100644 --- a/plat/xilinx/common/pm_service/pm_ipi.c +++ b/plat/xilinx/common/pm_service/pm_ipi.c @@ -18,6 +18,8 @@ #include "pm_ipi.h" +#define ERROR_CODE_MASK 0xFFFFU + DEFINE_BAKERY_LOCK(pm_secure_lock); /** @@ -230,7 +232,7 @@ enum pm_ret_status pm_ipi_send_sync(const struct pm_proc *proc, if (ret != PM_RET_SUCCESS) goto unlock; - ret = pm_ipi_buff_read(proc, value, count); + ret = ERROR_CODE_MASK & (pm_ipi_buff_read(proc, value, count)); unlock: bakery_lock_release(&pm_secure_lock); -- 2.39.5