Perfoming an OR operation on the error is not a good approach.

Return the error immediately for each ESDHC instance instead.

Signed-off-by: Otavio Salvador <ota...@ossystems.com.br>
---

Changes in v2:
- use ARRAY_SIZE(usdhc_cfg) (Marek)

 board/congatec/cgtqmx6eval/cgtqmx6eval.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/board/congatec/cgtqmx6eval/cgtqmx6eval.c 
b/board/congatec/cgtqmx6eval/cgtqmx6eval.c
index eb6395a..0f43d3c 100644
--- a/board/congatec/cgtqmx6eval/cgtqmx6eval.c
+++ b/board/congatec/cgtqmx6eval/cgtqmx6eval.c
@@ -98,6 +98,7 @@ int board_mmc_getcd(struct mmc *mmc)
 int board_mmc_init(bd_t *bis)
 {
        s32 status = 0;
+       int i;
 
        usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
        usdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC4_CLK);
@@ -107,10 +108,13 @@ int board_mmc_init(bd_t *bis)
        imx_iomux_v3_setup_multiple_pads(
                                usdhc4_pads, ARRAY_SIZE(usdhc4_pads));
 
-       status = fsl_esdhc_initialize(bis, &usdhc_cfg[0]) |
-                    fsl_esdhc_initialize(bis, &usdhc_cfg[1]);
+       for (i = 0; i < ARRAY_SIZE(usdhc_cfg); i++) {
+               status = fsl_esdhc_initialize(bis, &usdhc_cfg[i]);
+               if (status)
+                       return status;
+       }
 
-       return status;
+       return 0;
 }
 #endif
 
-- 
2.4.5

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to