diff --git a/esphome/components/ld2410/ld2410.cpp b/esphome/components/ld2410/ld2410.cpp index 0a053b7f06..b57b1d9978 100644 --- a/esphome/components/ld2410/ld2410.cpp +++ b/esphome/components/ld2410/ld2410.cpp @@ -275,14 +275,8 @@ void LD2410Component::restart_and_read_all_info() { } void LD2410Component::loop() { - // Early return avoids stack adjustment for the batch buffer below. - // loop() runs ~7000/min so most calls have nothing to read. - int avail = this->available(); - if (avail <= 0) { - return; - } - // Read all available bytes in batches to reduce UART call overhead. + int avail = this->available(); uint8_t buf[MAX_LINE_LENGTH]; while (avail > 0) { size_t to_read = std::min(static_cast(avail), sizeof(buf));