Re: [PATCH] sdhci: do not program timer when tuning_count is zero

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/08/2013 07:50 AM, Aaron Lu wrote:
On 11/07/2013 06:59 PM, Arend van Spriel wrote:
When the host->tuning_count is zero it means that the

If the tuning_count is zero, then the retuning timer shouldn't be
started in the first place and not possible to run code there. Or is the
tuning_count dynamically changed?

Actually, the sdhci_execute_tuning() must run once to do the initial tuning procedure. This is mandatory for SDR104. However, *re*tuning is not and a zero tuning_count disables it.

The function is executed initially. The 'if' statement above the patched 'else' statement is actually responsible for programming the retuning timer for the first time. However, it requires tuning_count to be non-zero. The 'else' statement is actually for reloading the retuning timer, which is not the case. Adding the non-zero check assures the retuning timer is never started.

I guess the fact that this needs explaining indicates that the commit message should be updated. I will send a V2 for this.

Regards,
Arend

Thanks,
Aaron

retuning is disabled. Doing a mod_timer() with a zero
tuning_count does something else.

Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx>
---
  drivers/mmc/host/sdhci.c |    3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 7a7fb4f..9803e7a 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -2007,7 +2007,8 @@ out:
  	} else {
  		host->flags &= ~SDHCI_NEEDS_RETUNING;
  		/* Reload the new initial value for timer */
-		if (host->tuning_mode == SDHCI_TUNING_MODE_1)
+		if (host->tuning_count &&
+		    host->tuning_mode == SDHCI_TUNING_MODE_1)
  			mod_timer(&host->tuning_timer, jiffies +
  				host->tuning_count * HZ);
  	}





--
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




[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux