summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrans Meulenbroeks <fransmeulenbroeks@gmail.com>2010-07-31 04:45:18 +0000
committerAndy Fleming <afleming@freescale.com>2011-04-13 06:35:22 -0500
commit63fb5a7e4b0ada0bf77dd89120a61d2bd14e50af (patch)
treec26875c041c5d580872505778654a71d6f8b8e33
parentb97e0cd78837180e122cd9209b9e71e2c2d3f911 (diff)
downloadu-boot-imx-63fb5a7e4b0ada0bf77dd89120a61d2bd14e50af.zip
u-boot-imx-63fb5a7e4b0ada0bf77dd89120a61d2bd14e50af.tar.gz
u-boot-imx-63fb5a7e4b0ada0bf77dd89120a61d2bd14e50af.tar.bz2
drivers/mmc/fsl_esdhc.c: reordered tests
As DATA_ERROR includes the value IRQSTAT_DTOE, a timeout error would yield the first error return instead of TIMEOUT. By swapping the test TIMEOUTs are reported as such An alternate solution would be to remove the IRQSTAT_DTOE from the DATA_ERROR define but as that one might be less desired I've opted for the simplest solution Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com> Signed-off-by: Andy Fleming <afleming@freescale.com>
-rw-r--r--drivers/mmc/fsl_esdhc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c
index 4f1b515..2838795 100644
--- a/drivers/mmc/fsl_esdhc.c
+++ b/drivers/mmc/fsl_esdhc.c
@@ -332,11 +332,11 @@ esdhc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)
do {
irqstat = esdhc_read32(&regs->irqstat);
- if (irqstat & DATA_ERR)
- return COMM_ERR;
-
if (irqstat & IRQSTAT_DTOE)
return TIMEOUT;
+
+ if (irqstat & DATA_ERR)
+ return COMM_ERR;
} while (!(irqstat & IRQSTAT_TC) &&
(esdhc_read32(&regs->prsstat) & PRSSTAT_DLA));
#endif