@@ -665,8 +665,17 @@ static void omap_hsmmc_enable_irq(struct omap_hsmmc_host *host,
is_tuning = (cmd->opcode == MMC_SEND_TUNING_BLOCK) ||
(cmd->opcode == MMC_SEND_TUNING_BLOCK_HS200);
- if (!is_tuning && host->use_dma)
+ if (is_tuning) {
+ /*
+ * OMAP5/DRA74X/DRA72x Errata i802:
+ * DCRC error interrupts (MMCHS_STAT[21] DCRC=0x1) can occur
+ * during the tuning procedure. So disable it during the
+ * tuning procedure.
+ */
+ irq_mask &= ~DCRC_EN;
+ } else if (host->use_dma) {
irq_mask &= ~(BRR_EN | BWR_EN);
+ }
/* Disable timeout for erases */
if (cmd->opcode == MMC_ERASE)