diff options
author | Dipen Dudhat <dipen.dudhat@freescale.com> | 2009-10-07 15:47:46 -0400 |
---|---|---|
committer | Justin Waters <justin.waters@timesys.com> | 2009-10-07 15:47:46 -0400 |
commit | 1939b5816adf70a2dcc2e7eb41a816587a8e3c3b (patch) | |
tree | 63a6e12891acc7dfee5328d8517f62acc5a05d56 | |
parent | 3f1a2e1c0750c20a13bb99f7dc86e8060f520c16 (diff) |
u-boot-2009.03-p2020rdb-eSDHC-PIO-mode-last-3-bytes-corre
Removed Bug from PIO mode Support in eSDHC Driver.
Earlier it was skipping last 3 bytes in read operation.
Signed-off-by: Dipen Dudhat <dipen.dudhat@freescale.com>
-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 { |