diff --git a/drivers/mmc/davinci_mmc.c b/drivers/mmc/davinci_mmc.c
index ee8f261..d5a38a7 100644
--- a/drivers/mmc/davinci_mmc.c
+++ b/drivers/mmc/davinci_mmc.c
@@ -285,8 +285,11 @@ dmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)
     */
    if (bytes_left > fifo_bytes)
     dmmc_wait_fifo_status(regs, 0x4a);
-   else if (bytes_left == fifo_bytes)
+   else if (bytes_left == fifo_bytes) {
     dmmc_wait_fifo_status(regs, 0x40);
+    if (cmd->cmdidx == MMC_CMD_SEND_EXT_CSD)
+     udelay(600);
+   }
 
    for (i = 0; bytes_left && (i < fifo_words); i++) {
     cmddata = get_val(&regs->mmcdrr);
