]> git.baikalelectronics.ru Git - arm-tf.git/commitdiff
plat: xilinx: Mask unnecessary bytes of return error code
authorRavi Patel <ravi.patel@xilinx.com>
Mon, 23 Nov 2020 12:19:08 +0000 (04:19 -0800)
committerManish Pandey <manish.pandey2@arm.com>
Mon, 7 Dec 2020 11:08:09 +0000 (11:08 +0000)
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 <ravi.patel@xilinx.com>
Signed-off-by: Rajan Vaja <rajan.vaja@xilinx.com>
Change-Id: I18c2f3bd2d067e91344852c2f0c1bafea0e6eb23

plat/xilinx/common/pm_service/pm_ipi.c

index c83d25b0d959fb56f6b26aea559f03c4c58e7e02..5dcceaea258187b6ee03a3f79d513225ee8ee6d2 100644 (file)
@@ -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);