From: Daniel Kochmański Date: Fri, 29 May 2015 14:55:43 +0000 (+0200) Subject: mmc: Protect `mmc_initialize` from initialising mmc multiple times X-Git-Tag: KARO-TX6-2015-09-18~1177 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=e55ad34dc82eccd1fcb13a30f5327e02e25213de;p=karo-tx-uboot.git mmc: Protect `mmc_initialize` from initialising mmc multiple times `mmc_initialize` might be called multiple times leading to the mmc-controllers being initialised twice, and initialising the `mmc_devices` list head twice which may lead to memory leaks. Signed-off-by: Daniel Kochmański CC: Roy Spliet Cc: Ian Campbell CC: Pantelis Antoniou Acked-by: Hans de Goede Signed-off-by: Hans de Goede --- diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index 76095f1aa3..c29f40db5f 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -1766,6 +1766,11 @@ static void do_preinit(void) int mmc_initialize(bd_t *bis) { + static int initialized = 0; + if (initialized) /* Avoid initializing mmc multiple times */ + return 0; + initialized = 1; + INIT_LIST_HEAD (&mmc_devices); cur_dev_num = 0;