diff --git a/components/newlib/time.c b/components/newlib/time.c index 1fa1936bd7..00e055f4f7 100644 --- a/components/newlib/time.c +++ b/components/newlib/time.c @@ -194,7 +194,10 @@ int settimeofday(const struct timeval *tv, const struct timezone *tz) int usleep(useconds_t us) { - const int us_per_tick = portTICK_PERIOD_MS * 1000; + /* Even at max tick rate, vTaskDelay can still delay for the max of the us argument, + we just need to make sure the tick calculation does not overflow + */ + const int64_t us_per_tick = portTICK_PERIOD_MS * 1000; if (us < us_per_tick) { esp_rom_delay_us((uint32_t) us); } else {