
On 23/09/15 18:54, Jaehoon Chung wrote:
Hi.
On 09/23/2015 06:39 PM, Lukasz Majewski wrote:
Hi Tobias,
exynos_mmc_init() always returns zero, so for the caller it looks like it never fails.
Correct this by returning the error code of process_nodes(). For process_nodes() do something similar and return early when do_sdhci_init() fails.
Signed-off-by: Tobias Jakobi tjakobi@math.uni-bielefeld.de
drivers/mmc/s5p_sdhci.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/mmc/s5p_sdhci.c b/drivers/mmc/s5p_sdhci.c index e9c43a9..bc2102a 100644 --- a/drivers/mmc/s5p_sdhci.c +++ b/drivers/mmc/s5p_sdhci.c @@ -187,7 +187,11 @@ static int process_nodes(const void *blob, int node_list[], int count) printf("%s: failed to decode dev %d\n", __func__, i); return -1; }
do_sdhci_init(host);
if (do_sdhci_init(host)) {
printf("%s: failed to initialize dev %d\n",
__func__, i);
return -2;
IMHO, it would be better to write this code as follows:
ret = do_sdhci_init(host); if (ret) {
printf(); return ret; }
I think it should be replaced to "continue;", not "return ret;" If returned the fail, then next host can't initialize.(if there is next host..) So maybe, it didn't use "return ret".
Right. If succeeded to initialize at least one host, should not be returned an error.
Thanks, Minkyu Kang.