diff --git a/Marlin/src/Marlin.cpp b/Marlin/src/Marlin.cpp index a03d1f3963..5dbb914863 100644 --- a/Marlin/src/Marlin.cpp +++ b/Marlin/src/Marlin.cpp @@ -1128,10 +1128,9 @@ void setup() { * - Call inactivity manager */ void loop() { + do { - for (;;) { - - idle(); // Do an idle first so boot is slightly faster + idle(); #if ENABLED(SDSUPPORT) card.checkautostart(); @@ -1141,5 +1140,10 @@ void loop() { queue.advance(); endstops.event_handler(); - } + + } while (false // Return to caller for best compatibility + #ifdef __AVR__ + || true // Loop forever on slower (AVR) boards + #endif + ); }