diff options
-rw-r--r-- | drivers/mmc/fsl_esdhc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index b0eb8a2d97..6c17b7f10d 100644 --- a/drivers/mmc/fsl_esdhc.c +++ b/drivers/mmc/fsl_esdhc.c @@ -157,7 +157,7 @@ esdhc_pio_read_write(struct mmc *mmc, struct mmc_data *data) size = data->blocksize; irqstat = in_be32(®s->irqstat); while(!(in_be32(®s->prsstat) & PRSSTAT_BREN)); - while(size && (!(irqstat & IRQSTAT_TC))) { + do { if(chunk_remain == 0) { udelay(1000); irqstat = in_be32(®s->irqstat); @@ -169,7 +169,7 @@ esdhc_pio_read_write(struct mmc *mmc, struct mmc_data *data) databuf >>= 8; size--; chunk_remain--; - } + } while(size); blocks--; } } else { |