@@ -891,8 +891,8 @@ static void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd)
WARN_ON(host->cmd);
- /* Wait max 10 ms */
- timeout = 10;
+ /* Wait max this amount of ms */
+ timeout = (10*256) + 255;
mask = SDHCI_CMD_INHIBIT;
if ((cmd->data != NULL) || (cmd->flags & MMC_RSP_BUSY))
@@ -913,7 +913,8 @@ static void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd)
return;
}
timeout--;
- mdelay(1);
+ if (!(timeout & 0xFF))
+ mdelay(1);
}
mod_timer(&host->timer, jiffies + 10 * HZ);