mirror of https://gitee.com/openkylin/linux.git
mmc: Revert "mmc: sdhci: Fix SDHCI_QUIRK_TIMEOUT_USES_SDCLK"
This reverts commit 4b01681c77
, which introduced a new potential
divide by zero in the process of fixing one. The subsequent commits
attempt to fix the issue properly.
Signed-off-by: Chris Ball <cjb@laptop.org>
This commit is contained in:
parent
4906baf080
commit
83cbcd93a1
|
@ -632,9 +632,6 @@ static u8 sdhci_calc_timeout(struct sdhci_host *host, struct mmc_command *cmd)
|
|||
target_timeout = data->timeout_ns / 1000 +
|
||||
data->timeout_clks / host->clock;
|
||||
|
||||
if (host->quirks & SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK)
|
||||
host->timeout_clk = host->clock / 1000;
|
||||
|
||||
/*
|
||||
* Figure out needed cycles.
|
||||
* We do this in steps in order to fit inside a 32 bit int.
|
||||
|
@ -645,7 +642,6 @@ static u8 sdhci_calc_timeout(struct sdhci_host *host, struct mmc_command *cmd)
|
|||
* =>
|
||||
* (1) / (2) > 2^6
|
||||
*/
|
||||
BUG_ON(!host->timeout_clk);
|
||||
count = 0;
|
||||
current_timeout = (1 << 13) * 1000 / host->timeout_clk;
|
||||
while (current_timeout < target_timeout) {
|
||||
|
@ -2474,6 +2470,9 @@ int sdhci_add_host(struct sdhci_host *host)
|
|||
if (caps[0] & SDHCI_TIMEOUT_CLK_UNIT)
|
||||
host->timeout_clk *= 1000;
|
||||
|
||||
if (host->quirks & SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK)
|
||||
host->timeout_clk = host->clock / 1000;
|
||||
|
||||
/*
|
||||
* In case of Host Controller v3.00, find out whether clock
|
||||
* multiplier is supported.
|
||||
|
|
Loading…
Reference in New Issue