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 <[email protected]>
> Cc: Aaron Lu <[email protected]>
> Signed-off-by: Arend van Spriel <[email protected]>
In addition to solve your problem, this patch also makes sense in the
common case, so:
Reviewed-by: Aaron Lu <[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html