From c310fc840472a36e4b9d2505830e9dc8d458d63c Mon Sep 17 00:00:00 2001 From: "elen.song" Date: Tue, 12 Jul 2011 00:17:07 +0000 Subject: AT91:mmc:fix multiple read/write error According to datasheet,set block count before multiple read/write. Signed-off-by: elen.song Acked-by: Andy Fleming --- drivers/mmc/gen_atmel_mci.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'drivers/mmc/gen_atmel_mci.c') diff --git a/drivers/mmc/gen_atmel_mci.c b/drivers/mmc/gen_atmel_mci.c index f346b244be..d217574b57 100644 --- a/drivers/mmc/gen_atmel_mci.c +++ b/drivers/mmc/gen_atmel_mci.c @@ -183,6 +183,10 @@ mci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data) /* Figure out the transfer arguments */ cmdr = mci_encode_cmd(cmd, data, &error_flags); + if (data) + writel(MMCI_BF(BCNT, data->blocks) | + MMCI_BF(BLKLEN, mmc->read_bl_len), &mci->blkr); + /* Send the command */ writel(cmd->cmdarg, &mci->argr); writel(cmdr, &mci->cmdr); -- cgit v1.2.1