Skip to contentSkip to conversation

mx51evk: Fix error handling in board_mmc_init()

PATCH New Fabio Estevam 2 participants 6 messages Nov 20, 2014 – Nov 21, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/5 mx51evk: Fix error handling in board_mmc_init()

From: Fabio Estevam <[email protected]>

When an invalid USDHC port is passed we should return -EINVAL instead of 0.

Also, return the error immediately on fsl_esdhc_initialize() failure.

---
 board/freescale/mx51evk/mx51evk.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
board/freescale/mx51evk/mx51evk.c +6 -4
index 9b43c84..f1e5eb4 100644
@@ -320,7 +320,7 @@ int board_mmc_init(bd_t *bis)
 	};
 
 	u32 index;
-	s32 status = 0;
+	int ret;
 
 	esdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
 	esdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
@@ -340,11 +340,13 @@ int board_mmc_init(bd_t *bis)
 			printf("Warning: you configured more ESDHC controller"
 				"(%d) as supported by the board(2)\n",
 				CONFIG_SYS_FSL_ESDHC_NUM);
-			return status;
+			return -EINVAL;
 		}
-		status |= fsl_esdhc_initialize(bis, &esdhc_cfg[index]);
+		ret = fsl_esdhc_initialize(bis, &esdhc_cfg[index]);
+		if (ret)
+			return ret;
 	}
-	return status;
+	return 0;
 }
 #endif
 
Signature · 1 line
1.9.1
#1 lore raw

PATCH 2/5 mx6qarm2: Fix error handling in board_mmc_init()

From: Fabio Estevam <[email protected]>

When an invalid USDHC port is passed we should return -EINVAL instead of 0.

Also, return the error immediately on fsl_esdhc_initialize() failure.

---
 board/freescale/mx6qarm2/mx6qarm2.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
board/freescale/mx6qarm2/mx6qarm2.c +6 -4
index 667dca5..3a5b26d 100644
@@ -125,7 +125,7 @@ int board_mmc_getcd(struct mmc *mmc)
 
 int board_mmc_init(bd_t *bis)
 {
-	s32 status = 0;
+	int ret;
 	u32 index = 0;
 
 	usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
@@ -145,13 +145,15 @@ int board_mmc_init(bd_t *bis)
 			printf("Warning: you configured more USDHC controllers"
 				"(%d) then supported by the board (%d)\n",
 				index + 1, CONFIG_SYS_FSL_USDHC_NUM);
-			return status;
+			return -EINVAL;
 		}
 
-		status |= fsl_esdhc_initialize(bis, &usdhc_cfg[index]);
+		ret = fsl_esdhc_initialize(bis, &usdhc_cfg[index]);
+		if (ret)
+			return ret;
 	}
 
-	return status;
+	return 0;
 }
 #endif
 
Signature · 1 line
1.9.1
#2 lore raw

PATCH 3/5 mx53smd: Fix error handling in board_mmc_init()

In reply to Fabio Estevam

From: Fabio Estevam <[email protected]>

When an invalid USDHC port is passed we should return -EINVAL instead of 0.

Also, return the error immediately on fsl_esdhc_initialize() failure.

---
 board/freescale/mx53smd/mx53smd.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
board/freescale/mx53smd/mx53smd.c +6 -4
index d64c674..0963fd7 100644
@@ -106,7 +106,7 @@ int board_mmc_init(bd_t *bis)
 	};
 
 	u32 index;
-	s32 status = 0;
+	int ret;
 
 	esdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
 
@@ -121,12 +121,14 @@ int board_mmc_init(bd_t *bis)
 			printf("Warning: you configured more ESDHC controller"
 				"(%d) as supported by the board(1)\n",
 				CONFIG_SYS_FSL_ESDHC_NUM);
-			return status;
+			return -EINVAL;
 		}
-		status |= fsl_esdhc_initialize(bis, &esdhc_cfg[index]);
+		ret = fsl_esdhc_initialize(bis, &esdhc_cfg[index]);
+		if (ret)
+			return ret;
 	}
 
-	return status;
+	return 0;
 }
 #endif
 
Signature · 1 line
1.9.1
#3 lore raw

PATCH 4/5 mx53evk: Fix error handling in board_mmc_init()

In reply to Fabio Estevam

From: Fabio Estevam <[email protected]>

When an invalid USDHC port is passed we should return -EINVAL instead of 0.

Also, return the error immediately on fsl_esdhc_initialize() failure.

---
 board/freescale/mx53evk/mx53evk.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
board/freescale/mx53evk/mx53evk.c +6 -4
index 13519e2..6ee6d73 100644
@@ -195,7 +195,7 @@ int board_mmc_init(bd_t *bis)
 	};
 
 	u32 index;
-	s32 status = 0;
+	int ret;
 
 	esdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
 	esdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
@@ -214,12 +214,14 @@ int board_mmc_init(bd_t *bis)
 			printf("Warning: you configured more ESDHC controller"
 				"(%d) as supported by the board(2)\n",
 				CONFIG_SYS_FSL_ESDHC_NUM);
-			return status;
+			return -EINVAL;
 		}
-		status |= fsl_esdhc_initialize(bis, &esdhc_cfg[index]);
+		ret = fsl_esdhc_initialize(bis, &esdhc_cfg[index]);
+		if (ret)
+			return ret;
 	}
 
-	return status;
+	return 0;
 }
 #endif
 
Signature · 1 line
1.9.1
#4 lore raw

PATCH 5/5 mx53ard: Fix error handling in board_mmc_init()

In reply to Fabio Estevam

From: Fabio Estevam <[email protected]>

When an invalid USDHC port is passed we should return -EINVAL instead of 0.

Also, return the error immediately on fsl_esdhc_initialize() failure.

---
 board/freescale/mx53ard/mx53ard.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)
board/freescale/mx53ard/mx53ard.c +6 -4
index c960c44..8ba2728 100644
@@ -166,7 +166,7 @@ int board_mmc_init(bd_t *bis)
 	};
 
 	u32 index;
-	s32 status = 0;
+	int ret;
 
 	esdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC_CLK);
 	esdhc_cfg[1].sdhc_clk = mxc_get_clock(MXC_ESDHC2_CLK);
@@ -185,12 +185,14 @@ int board_mmc_init(bd_t *bis)
 			printf("Warning: you configured more ESDHC controller"
 				"(%d) as supported by the board(2)\n",
 				CONFIG_SYS_FSL_ESDHC_NUM);
-			return status;
+			return -EINVAL;
 		}
-		status |= fsl_esdhc_initialize(bis, &esdhc_cfg[index]);
+		ret = fsl_esdhc_initialize(bis, &esdhc_cfg[index]);
+		if (ret)
+			return ret;
 	}
 
-	return status;
+	return 0;
 }
 #endif
 
Signature · 1 line
1.9.1
#5 lore raw

PATCH 1/5 mx51evk: Fix error handling in board_mmc_init()

In reply to Fabio Estevam
Quoted 8 lines · Fabio Estevam

From: Fabio Estevam <[email protected]>

When an invalid USDHC port is passed we should return -EINVAL instead of 0.

Also, return the error immediately on fsl_esdhc_initialize() failure.

---

For the whole series:

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
=====================================================================