On 02/22/2014 03:59 AM, Arend van Spriel wrote: > When the host->tuning_count is zero it means that the > retuning is disabled. This is checked on the first > run of sdhci_execute_tuning() by the if statement below: > > if (!(host->flags & SDHCI_NEEDS_RETUNING) && host->tuning_count && > (host->tuning_mode == SDHCI_TUNING_MODE_1)) { > > So only when tuning_count is non-zero it will set the host > flag SDHCI_USING_RETUNING_TIMER. The else statement is only > for re-programming the timer, which means that flag must be > set. Because that is not checked the else statement is executed > in the first run when tuning_count is zero. > > This was seen on a host controller which indicated > SDHCI_TUNING_MODE_1 (0) and tuning_count being zero. Suspect > that (one of) these registers is not properly set. > > Cc: Dong Aisheng <dongas86@xxxxxxxxx> > Cc: Aaron Lu <aaron.lwe@xxxxxxxxx> > Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> In addition to solve your problem, this patch also makes sense in the common case, so: Reviewed-by: Aaron Lu <aaron.lu@xxxxxxxxx> -- 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