[PATCH v1 2/5] arm: socfpga: mailbox: Always read mailbox responses before returning status

Tan, Ley Foon ley.foon.tan at intel.com
Fri Sep 4 11:39:01 CEST 2020



> -----Original Message-----
> From: Ang, Chee Hong <chee.hong.ang at intel.com>
> Sent: Wednesday, August 12, 2020 9:56 AM
> To: u-boot at lists.denx.de
> Cc: Marek Vasut <marex at denx.de>; Simon Goldschmidt
> <simon.k.r.goldschmidt at gmail.com>; Tom Rini <trini at konsulko.com>; See,
> Chin Liang <chin.liang.see at intel.com>; Tan, Ley Foon
> <ley.foon.tan at intel.com>; Ang, Chee Hong <chee.hong.ang at intel.com>;
> Chee, Tien Fong <tien.fong.chee at intel.com>; Lim, Elly Siew Chin
> <elly.siew.chin.lim at intel.com>
> Subject: [PATCH v1 2/5] arm: socfpga: mailbox: Always read mailbox
> responses before returning status
> 
> 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.ang at 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;
>  			}
>  		}
>  	};


Reviewed-by: Ley Foon Tan <ley.foon.tan at intel.com>


More information about the U-Boot mailing list