mmc: mtk-sd: add WATCHDOG_RESET() to prevent watchdog timeout
authorWeijie Gao <weijie.gao@mediatek.com>
Fri, 19 Jul 2019 03:04:47 +0000 (11:04 +0800)
committerPeng Fan <peng.fan@nxp.com>
Wed, 31 Jul 2019 07:31:36 +0000 (15:31 +0800)
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@mediatek.com>
drivers/mmc/mtk-sd.c

index e0ac3e9..4908509 100644 (file)
@@ -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;