diff --git a/drivers/mmc/core/core.h b/drivers/mmc/core/core.h
old mode 100644
new mode 100755
index cfba3c0..060ad3b
--- a/drivers/mmc/core/core.h
+++ b/drivers/mmc/core/core.h
@@ -13,7 +13,7 @@
 
 #include <linux/delay.h>
 
-#define MMC_CMD_RETRIES        3
+#define MMC_CMD_RETRIES        10
 
 struct mmc_bus_ops {
 	void (*remove)(struct mmc_host *);
diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c
old mode 100644
new mode 100755
index 8b3f694..047b3c5
--- a/drivers/mmc/core/sdio.c
+++ b/drivers/mmc/core/sdio.c
@@ -1097,8 +1097,18 @@ int mmc_attach_sdio(struct mmc_host *host)
 
 	err = mmc_send_io_op_cond(host, 0, &ocr);
	if (err)
		return err;
	
+	 /*
+	  *acc1340 need one more time.
+	  */
+	if(ocr == 0xc01e00){
+		err = mmc_send_io_op_cond(host, 0, &ocr);
+	}

 	mmc_attach_bus(host, &mmc_sdio_ops);
 	if (host->ocr_avail_sdio)
 		host->ocr_avail = host->ocr_avail_sdio;