Hi, On Sat, Mar 05 2011, Linus Walleij wrote: > From: Ulf Hansson <ulf.hansson@xxxxxxxxxxxxxx> > > At power off, reset OCR mask to be the highest possible voltage > supported for the current mmc host. > > This solves the re-initialization during the power up sequence. > The voltage may have been decreased due to the card accepts a lower > voltage than the voltage used during the initialization sequence. > We need to reset the voltage to by the host highest possible value > since according to specification the initialization must always be > done at high voltage. > > Reviewed-by: Jonas Aberg <jonas.aberg@xxxxxxxxxxxxxx> > Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxxxxxx> > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > --- > drivers/mmc/core/core.c | 7 +++++++ > 1 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c > index 2521794..b9d39ec 100644 > --- a/drivers/mmc/core/core.c > +++ b/drivers/mmc/core/core.c > @@ -1002,6 +1002,13 @@ static void mmc_power_off(struct mmc_host *host) > { > host->ios.clock = 0; > host->ios.vdd = 0; > + > + /* > + * Reset ocr mask to be the highest possible voltage supported for > + * this mmc host. This value will be used at next power up. > + */ > + host->ocr = 1 << (fls(host->ocr_avail) - 1); > + > if (!mmc_host_is_spi(host)) { > host->ios.bus_mode = MMC_BUSMODE_OPENDRAIN; > host->ios.chip_select = MMC_CS_DONTCARE; Thanks, pushed to mmc-next for .39. It would be good to hear more about whether you think this is a regression, should have a stable@ tag, etc. - Chris. -- Chris Ball <cjb@xxxxxxxxxx> <http://printf.net/> One Laptop Per Child -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html