Hi Tim, On 5/29/25 23:49, Tim Harvey wrote: > Call sys_check_timeouts to service lwIP timers and schedule to service > U-Boot tasks and actions during packet rx. > > This resolves the issue of an active watchdog resetting the board on > long network activities. > > Suggested-by: Jerome Forissier <jerome.foriss...@linaro.org> > Signed-off-by: Tim Harvey <thar...@gateworks.com> > --- > net/lwip/net-lwip.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/net/lwip/net-lwip.c b/net/lwip/net-lwip.c > index f05c4cd3f64f..e8d4cc542ed8 100644 > --- a/net/lwip/net-lwip.c > +++ b/net/lwip/net-lwip.c > @@ -13,8 +13,10 @@ > #include <lwip/etharp.h> > #include <lwip/init.h> > #include <lwip/prot/etharp.h> > +#include <lwip/timeouts.h> > #include <net.h> > #include <timer.h> > +#include <u-boot/schedule.h> > > /* xx:xx:xx:xx:xx:xx\0 */ > #define MAC_ADDR_STRLEN 18 > @@ -284,6 +286,11 @@ int net_lwip_rx(struct udevice *udev, struct netif > *netif) > int len; > int i; > > + /* lwIP timers */ > + sys_check_timeouts(); > + /* Other tasks and actions */ > + schedule(); > + > if (!eth_is_active(udev)) > return -EINVAL; >
With that, there is no need for calling sys_check_timeouts() in the callers of net_lwip_rx(). Please simplify the dhcp/dns/ping/tftp/wget loops. Thanks, -- Jerome