struct mmc_host *host = (struct mmc_host *)mmc->priv;
int flags, i;
int result;
- unsigned int mask;
+ unsigned int mask = 0;
unsigned int retry = 0x100000;
debug(" mmc_send_cmd called\n");
if (i == retry) {
printf("%s: waiting for status update\n", __func__);
+ writel(mask, &host->reg->norintsts);
return TIMEOUT;
}
if (mask & TEGRA_MMC_NORINTSTS_CMD_TIMEOUT) {
/* Timeout Error */
debug("timeout: %08x cmd %d\n", mask, cmd->cmdidx);
+ writel(mask, &host->reg->norintsts);
return TIMEOUT;
} else if (mask & TEGRA_MMC_NORINTSTS_ERR_INTERRUPT) {
/* Error Interrupt */
debug("error: %08x cmd %d\n", mask, cmd->cmdidx);
+ writel(mask, &host->reg->norintsts);
return -1;
}
if (i == retry) {
printf("%s: card is still busy\n", __func__);
+ writel(mask, &host->reg->norintsts);
return TIMEOUT;
}