Skip to contentSkip to conversation

tbs2910: Fix error handling in board_mmc_init()

PATCH New Soeren Moch 2 participants 3 messages Nov 20, 2014 – Nov 21, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 tbs2910: Fix error handling in board_mmc_init()

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

--
Cc: Stefano Babic <[email protected]>
Cc: Fabio Estevam <[email protected]>

---
 board/tbs/tbs2910/tbs2910.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)
board/tbs/tbs2910/tbs2910.c +6 -7
index daf8ff4..dfa430e 100644
@@ -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 */
 
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/1 tbs2910: Fix error handling in board_mmc_init()

Hi Soeren,

Quoted 43 lines · Soeren Moch

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

--
Cc: Stefano Babic <[email protected]>
Cc: Fabio Estevam <[email protected]>

---
 board/tbs/tbs2910/tbs2910.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)
board/tbs/tbs2910/tbs2910.c +2 -5
index daf8ff4..dfa430e 100644
@@ -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;
 		}
-

board/tbs/tbs2910/tbs2910.c int board_mmc_init(bd_t *bis) · line 261

Quoted 10 lines
board/tbs/tbs2910/tbs2910.c +4 -2
-		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.

Best regards,
Stefano Babic

Signature · 5 lines
=====================================================================
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
=====================================================================
#2 lore raw

PATCH 1/1 tbs2910: Fix error handling in board_mmc_init()

In reply to Soeren Moch
Quoted 7 lines · Soeren Moch

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

--

Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic

Signature · 5 lines
=====================================================================
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
=====================================================================