rtc_wdt: fix overflow issue with setting wdt interval

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
pull/2351/head
Mahavir Jain 2018-08-24 17:58:22 +05:30
rodzic c7f4fae8d0
commit f0fa66a50e
1 zmienionych plików z 1 dodań i 1 usunięć

Wyświetl plik

@ -73,7 +73,7 @@ esp_err_t rtc_wdt_set_time(rtc_wdt_stage_t stage, unsigned int timeout_ms)
if (stage > 3) { if (stage > 3) {
return ESP_ERR_INVALID_ARG; return ESP_ERR_INVALID_ARG;
} }
uint32_t timeout = rtc_clk_slow_freq_get_hz() * timeout_ms / 1000; uint32_t timeout = (uint32_t) ((uint64_t) rtc_clk_slow_freq_get_hz() * timeout_ms / 1000);
if (stage == RTC_WDT_STAGE0) { if (stage == RTC_WDT_STAGE0) {
WRITE_PERI_REG(RTC_CNTL_WDTCONFIG1_REG, timeout); WRITE_PERI_REG(RTC_CNTL_WDTCONFIG1_REG, timeout);
} else if (stage == RTC_WDT_STAGE1) { } else if (stage == RTC_WDT_STAGE1) {