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; -- 2.25.1