From ba277d68f3c48f2b6d84654c8d3afa24c5f9beee Mon Sep 17 00:00:00 2001 From: Amaury Pouly Date: Tue, 15 Jan 2013 19:05:29 +0000 Subject: [PATCH] imx233: fix sd windowed drive The SD driver doesn't initialised drives at the beginning but upon request to handle removable drives. Since means that the init should call init_drive() and not init_sd_card() otherwise the check for WINDOW flag is bypasses. This breaks the zenxfi3 bootloader and has been overlooked for some time. Change-Id: I7325f7164d16d7e7e54eeb4645e98517a08e0836 --- firmware/target/arm/imx233/sdmmc-imx233.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/firmware/target/arm/imx233/sdmmc-imx233.c b/firmware/target/arm/imx233/sdmmc-imx233.c index 17b37821b2..3bdc302ada 100644 --- a/firmware/target/arm/imx233/sdmmc-imx233.c +++ b/firmware/target/arm/imx233/sdmmc-imx233.c @@ -170,6 +170,8 @@ static unsigned _mmc_num_drives; static int mmc_map[SDMMC_NUM_DRIVES]; /* mmc->sdmmc map */ #endif +static int init_drive(int drive); + /* WARNING NOTE BUG FIXME * There are three numbering schemes involved in the driver: * - the sdmmc indexes into sdmmc_config[] @@ -519,7 +521,7 @@ static int transfer_sectors(int drive, unsigned long start, int count, void *buf #if CONFIG_STORAGE & STORAGE_SD if(SDMMC_MODE(drive) == SD_MODE && SDMMC_INFO(drive).initialized <= 0) { - ret = init_sd_card(drive); + ret = init_drive(drive); if(SDMMC_INFO(drive).initialized <= 0) goto Lend; }