As discussed earlier on LKML:
http://lkml.org/lkml/2006/5/4/44
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
                mmc_omap_power(host, 0);
                break;
        case MMC_POWER_UP:
-       case MMC_POWER_ON:
+               /* Cannot touch dsor yet, just power up MMC */
                mmc_omap_power(host, 1);
+               return;
+       case MMC_POWER_ON:
                dsor |= 1 << 11;
                break;
        }
         * Writing to the CON register twice seems to do the trick. */
        for (i = 0; i < 2; i++)
                OMAP_MMC_WRITE(host, CON, dsor);
-       if (ios->power_mode == MMC_POWER_UP) {
+       if (ios->power_mode == MMC_POWER_ON) {
                /* Send clock cycles, poll completion */
                OMAP_MMC_WRITE(host, IE, 0);
                OMAP_MMC_WRITE(host, STAT, 0xffff);