diff --git a/epicardium/modules/usb.c b/epicardium/modules/usb.c index 1e23c99cfbb2a805cc82ab071e0abbbb2e1b9eb7..a58e7d2701ecbfc946dd60b6e5e016de1034b853 100644 --- a/epicardium/modules/usb.c +++ b/epicardium/modules/usb.c @@ -24,6 +24,9 @@ #include "mx25lba.h" #include "msc.h" +#include "mxc_sys.h" +#include "wdt.h" + /* memory access callbacks for the mass storage (FLASH) device */ static int mscmem_init(); static uint32_t mscmem_size(void); @@ -96,6 +99,9 @@ static uint32_t mscmem_size(void) static int mscmem_read(uint32_t lba, uint8_t *buffer) { + /* Reset the watchdog as this interrupt might be + * firing back to back for a few seconds. */ + WDT_ResetTimer(MXC_WDT0); return mx25_read(lba, buffer); } @@ -105,6 +111,9 @@ static int mscmem_write(uint32_t lba, uint8_t *buffer) //bootloader_dirty(); } dirty = 2; + /* Reset the watchdog as this interrupt might be + * firing back to back for a few seconds. */ + WDT_ResetTimer(MXC_WDT0); return mx25_write(lba, buffer); }