diff options
| -rw-r--r-- | drivers/mmc/fsl_esdhc.c | 3 | ||||
| -rw-r--r-- | include/fsl_esdhc.h | 4 | 
2 files changed, 4 insertions, 3 deletions
| diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index 737b812b5..e945c0a47 100644 --- a/drivers/mmc/fsl_esdhc.c +++ b/drivers/mmc/fsl_esdhc.c @@ -397,8 +397,7 @@ esdhc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)  			if (irqstat & DATA_ERR)  				return COMM_ERR; -		} while (!(irqstat & IRQSTAT_TC) && -				(esdhc_read32(®s->prsstat) & PRSSTAT_DLA)); +		} while ((irqstat & DATA_COMPLETE) != DATA_COMPLETE);  #endif  		if (data->flags & MMC_DATA_READ)  			check_and_invalidate_dcache_range(cmd, data); diff --git a/include/fsl_esdhc.h b/include/fsl_esdhc.h index 0a1a0715e..67d6057b5 100644 --- a/include/fsl_esdhc.h +++ b/include/fsl_esdhc.h @@ -63,7 +63,9 @@  #define IRQSTAT_CC		(0x00000001)  #define CMD_ERR		(IRQSTAT_CIE | IRQSTAT_CEBE | IRQSTAT_CCE) -#define DATA_ERR	(IRQSTAT_DEBE | IRQSTAT_DCE | IRQSTAT_DTOE) +#define DATA_ERR	(IRQSTAT_DEBE | IRQSTAT_DCE | IRQSTAT_DTOE | \ +				IRQSTAT_DMAE) +#define DATA_COMPLETE	(IRQSTAT_TC | IRQSTAT_DINT)  #define IRQSTATEN		0x0002e034  #define IRQSTATEN_DMAE		(0x10000000) |