mmc: core: Fix voltage select in DDR mode
authorGirish K S <girish.shivananjappa@linaro.org>
Thu, 15 Dec 2011 11:57:42 +0000 (17:27 +0530)
committerChris Ball <cjb@laptop.org>
Thu, 12 Jan 2012 04:58:45 +0000 (23:58 -0500)
This patch fixes the wrong comparison before setting the interface
voltage in DDR mode.

The assignment to the variable ddr before comaprison is either
ddr = MMC_1_2V_DDR_MODE; or ddr == MMC_1_8V_DDR_MODE. But the comparison
is done with the extended csd value if ddr == EXT_CSD_CARD_TYPE_DDR_1_2V.

Signed-off-by: Girish K S <girish.shivananjappa@linaro.org>
Acked-by: Subhash Jadavani <subhashj@codeaurora.org>
Acked-by: Philip Rakity <prakity@marvell.com>
Cc: <stable@kernel.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/core/mmc.c

index 006e932a3ae354a6fa15948016857328ae291aaa..f0a9f1fbd1f609cef2b4facced07b91e79ed5c57 100644 (file)
@@ -1058,7 +1058,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,
                         *
                         * WARNING: eMMC rules are NOT the same as SD DDR
                         */
-                       if (ddr == EXT_CSD_CARD_TYPE_DDR_1_2V) {
+                       if (ddr == MMC_1_2V_DDR_MODE) {
                                err = mmc_set_signal_voltage(host,
                                        MMC_SIGNAL_VOLTAGE_120, 0);
                                if (err)