diff options
author | Haijun.Zhang <Haijun.Zhang@freescale.com> | 2013-10-31 05:38:18 +0400 |
---|---|---|
committer | Pantelis Antoniou <panto@antoniou-consulting.com> | 2013-10-31 11:55:34 +0400 |
commit | a54d68113261ad5da8ff43fd0d5ed811fb1d361d (patch) | |
tree | 0622e0c3c9b3c042f38f26f515dbca78f481e28f /drivers | |
parent | 511948b2cb1105fbec3e0f4cfb215e266860ae71 (diff) | |
download | u-boot-a54d68113261ad5da8ff43fd0d5ed811fb1d361d.tar.xz |
esdhc: memset mmc struct before putting into use
struct mmc should be clear to all '0' after malloc to avoid
unexpect variable value.
Like mmc->has_init = xxx.
In this case mmcinfo will believe the card had been initialized before
and skip the initialization.
Test on P5040 and T4240,
Error Log:
=> mmcinfo
Device: FSL_SDHC
Manufacturer ID: 0
OEM: 0
Name: Tran Speed: 0
Rd Block Len: 0
MMC version 0.0
High Capacity: No
Capacity: 0 Bytes
Bus Width: 0-bit
=>
Signed-off-by: Haijun Zhang <Haijun.Zhang@freescale.com>
Signed-off-by: Xie Shaohui-B21989 <B21989@freescale.com>
Tested-by: Ryan Barnett <rjbarnet@rockwellcollins.com>
Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mmc/fsl_esdhc.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index a9fe911c8b..1f9c305131 100644 --- a/drivers/mmc/fsl_esdhc.c +++ b/drivers/mmc/fsl_esdhc.c @@ -533,6 +533,7 @@ int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg *cfg) if (!mmc) return -ENOMEM; + memset(mmc, 0, sizeof(struct mmc)); sprintf(mmc->name, "FSL_SDHC"); regs = (struct fsl_esdhc *)cfg->esdhc_base; |