Mailbox driver should always check for the length of the response
and read the response data before returning the response status to
caller.

Signed-off-by: Chee Hong Ang <chee.hong....@intel.com>
---
 arch/arm/mach-socfpga/mailbox_s10.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-socfpga/mailbox_s10.c 
b/arch/arm/mach-socfpga/mailbox_s10.c
index 729d9b04fa..e8a587f007 100644
--- a/arch/arm/mach-socfpga/mailbox_s10.c
+++ b/arch/arm/mach-socfpga/mailbox_s10.c
@@ -221,9 +221,7 @@ static __always_inline int mbox_send_cmd_common(u8 id, u32 
cmd, u8 is_indirect,
                        if ((MBOX_RESP_CLIENT_GET(resp) ==
                             MBOX_CLIENT_ID_UBOOT) &&
                            (MBOX_RESP_ID_GET(resp) == id)) {
-                               ret = MBOX_RESP_ERR_GET(resp);
-                               if (ret)
-                                       return ret;
+                               int resp_err = MBOX_RESP_ERR_GET(resp);
 
                                if (resp_buf_len) {
                                        buf_len = *resp_buf_len;
@@ -252,7 +250,7 @@ static __always_inline int mbox_send_cmd_common(u8 id, u32 
cmd, u8 is_indirect,
                                                buf_len--;
                                        }
                                }
-                               return ret;
+                               return resp_err;
                        }
                }
        };
-- 
2.19.0

Reply via email to