[U-Boot] [PATCH] tbs2910: Fix error handling in board_mmc_init()

Stefano Babic
2014-11-20T15:36:41Z

Hi Soeren,

On 20/11/2014 13:03, Soeren Moch wrote:
> When an invalid USDHC port is passed we should return -EINVAL instead of 0.
> Also, return the error immediately on fsl_esdhc_initialize() failure.
>
> Based on similar patches by Fabio Estevam for mx6sabresd, mx53loco, wandboard
>
> Signed-off-by: Soeren Moch <smoch@web.de>
> --
> Cc: Stefano Babic <sbabic@denx.de>
> Cc: Fabio Estevam <festevam@gmail.com>
> ---
> board/tbs/tbs2910/tbs2910.c | 13 ++++++-------
> 1 file changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/board/tbs/tbs2910/tbs2910.c b/board/tbs/tbs2910/tbs2910.c
> index daf8ff4..dfa430e 100644
> --- a/board/tbs/tbs2910/tbs2910.c
> +++ b/board/tbs/tbs2910/tbs2910.c
> @@ -219,15 +219,13 @@ int board_mmc_getcd(struct mmc *mmc)
>
> int board_mmc_init(bd_t *bis)
> {
> - s32 status = 0;
> - int i;
> -
> /*
> * (U-boot device node) (Physical Port)
> * mmc0 SD2
> * mmc1 SD3
> * mmc2 eMMC
> */
> + int i, ret;
> for (i = 0; i < CONFIG_SYS_FSL_USDHC_NUM; i++) {
> switch (i) {
> case 0:
> @@ -251,12 +249,13 @@ int board_mmc_init(bd_t *bis)
> printf("Warning: you configured more USDHC controllers"
> "(%d) then supported by the board (%d)\n",
> i + 1, CONFIG_SYS_FSL_USDHC_NUM);
> - return status;
> + return -EINVAL;
> }
> -
> - status |= fsl_esdhc_initialize(bis, &usdhc_cfg[i]);
> + ret = fsl_esdhc_initialize(bis, &usdhc_cfg[i]);
> + if (ret)
> + return ret;
> }
> - return status;
> + return 0;
> }
> #endif /* CONFIG_FSL_ESDHC */
>
>

ok, I'll merge in the next iteration.

Acked-by: Stefano Babic <sbabic@denx.de>

Best regards,
Stefano Babic

--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================