diff --git a/firmware/lib/net.cpp b/firmware/lib/net.cpp index da6aedf..5e16ce2 100644 --- a/firmware/lib/net.cpp +++ b/firmware/lib/net.cpp @@ -135,7 +135,8 @@ void net_poll(std::span tx) { w6300::irq_pending = false; w6300::clear_interrupt(w6300::ik_int_all); static uint8_t rx_buf[1518]; - while (w6300::get_socket_recv_buf(raw_socket) > 0) { + int budget = 2; + while (budget-- > 0 && w6300::get_socket_recv_buf(raw_socket) > 0) { auto result = w6300::recv(raw_socket, std::span{rx_buf}); if (!result) break; span_writer tx_writer(tx);