diff options
author | Otavio Salvador <otavio@ossystems.com.br> | 2013-03-16 08:05:06 +0000 |
---|---|---|
committer | Stefano Babic <sbabic@denx.de> | 2013-04-03 10:41:28 +0200 |
commit | 60bb4621489d53aa255ccc35621a286a9a9b700d (patch) | |
tree | 1cba8cac15f738991578e2d25d19b6f00579180b /board/freescale | |
parent | 28ff917c28977e954d47148562a42d9468bfae62 (diff) |
mx6qsabresd: Fix card detection for invalid card id case
This changes the code so in case an unkown value is passed it will
return as invalid.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'board/freescale')
-rw-r--r-- | board/freescale/mx6qsabresd/mx6qsabresd.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/board/freescale/mx6qsabresd/mx6qsabresd.c b/board/freescale/mx6qsabresd/mx6qsabresd.c index 5ebbff3f8c..d3019e9adb 100644 --- a/board/freescale/mx6qsabresd/mx6qsabresd.c +++ b/board/freescale/mx6qsabresd/mx6qsabresd.c @@ -145,15 +145,21 @@ struct fsl_esdhc_cfg usdhc_cfg[3] = { int board_mmc_getcd(struct mmc *mmc) { struct fsl_esdhc_cfg *cfg = (struct fsl_esdhc_cfg *)mmc->priv; + int ret = 0; switch (cfg->esdhc_base) { case USDHC2_BASE_ADDR: - return !gpio_get_value(USDHC2_CD_GPIO); + ret = !gpio_get_value(USDHC2_CD_GPIO); + break; case USDHC3_BASE_ADDR: - return !gpio_get_value(USDHC3_CD_GPIO); - default: - return 1; /* eMMC/uSDHC4 is always present */ + ret = !gpio_get_value(USDHC3_CD_GPIO); + break; + case USDHC4_BASE_ADDR: + ret = 1; /* eMMC/uSDHC4 is always present */ + break; } + + return ret; } int board_mmc_init(bd_t *bis) |