[U-Boot] [PATCH] mmc: mtk-sd: add WATCHDOG_RESET() to prevent watchdog timeout

Weijie Gao weijie.gao at mediatek.com
Fri Jul 19 03:04:47 UTC 2019


When reading large data in once (reading 512MiB is tested on MT7623), a
watchdog timeout is triggered due to watchdog not being fed.

This patch adds WATCHDOG_RESET() to msdc_start_data() so the watchdog will
be fed every 1024 blocks are read/written.

Signed-off-by: Weijie Gao <weijie.gao at mediatek.com>
---
 drivers/mmc/mtk-sd.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/mmc/mtk-sd.c b/drivers/mmc/mtk-sd.c
index e0ac3e9d69..49085090c8 100644
--- a/drivers/mmc/mtk-sd.c
+++ b/drivers/mmc/mtk-sd.c
@@ -13,6 +13,7 @@
 #include <errno.h>
 #include <malloc.h>
 #include <stdbool.h>
+#include <watchdog.h>
 #include <asm/gpio.h>
 #include <dm/pinctrl.h>
 #include <linux/bitops.h>
@@ -623,6 +624,8 @@ static int msdc_start_data(struct msdc_host *host, struct mmc_data *data)
 	u32 size;
 	int ret;
 
+	WATCHDOG_RESET();
+
 	if (data->flags == MMC_DATA_WRITE)
 		host->last_data_write = 1;
 
-- 
2.17.1



More information about the U-Boot mailing list