diff --git a/components/newlib/time.c b/components/newlib/time.c index 4b9fc6ca8e..ce993e8f71 100644 --- a/components/newlib/time.c +++ b/components/newlib/time.c @@ -200,7 +200,10 @@ WEAK_UNLESS_TIMEFUNC_IMPL int settimeofday(const struct timeval *tv, const struc 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 {