diff --git a/esphome/components/socket/lwip_raw_tcp_impl.cpp b/esphome/components/socket/lwip_raw_tcp_impl.cpp index 9676487dea..a9c2eda4e8 100644 --- a/esphome/components/socket/lwip_raw_tcp_impl.cpp +++ b/esphome/components/socket/lwip_raw_tcp_impl.cpp @@ -30,11 +30,11 @@ void socket_delay(uint32_t ms) { // This allows the delay to exit early when socket_wake() is called by // lwip recv_fn/accept_fn callbacks, reducing socket latency. // - // When ms is 0, we must explicitly yield() because esp_delay(0, callback) + // When ms is 0, we must use delay(0) because esp_delay(0, callback) // exits immediately without yielding, which can cause watchdog timeouts // when the main loop runs in high-frequency mode (e.g., during light effects). if (ms == 0) { - yield(); + delay(0); return; } s_socket_woke = false;