Hi! > +++ b/drivers/mmc/host/sdhci.c > @@ -1107,9 +1113,13 @@ static void sdhci_set_clock(struct sdhci_host *host, unsigned int clock) > if ((host->max_clk / div) <= clock) > break; > } > + real_div = div; > div >>= 1; > } > > + if (real_div) > + host->mmc->actual_clock = (host->max_clk * clk_mul) / real_div; What triggered me to look at this is that usually a divider of 0 means that the clock is not divided at all, and your code seemed to set host->mmc->actual_clock to 0 in this case. After further inspection I realize that real_div appears to always be >= 1 which means that the if-statement is unnecessary. Or did I miss something? / Sebastian PS. I don't have a good SDHCI spec, is it publicly available somewhere? I have only found Pierre Ossman's old wiki on archive.org... -- 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