From 5c271198a9aed229f5464d988b092ebdf3f5589c Mon Sep 17 00:00:00 2001 From: zhanghongyu Date: Tue, 9 Apr 2024 14:22:59 +0800 Subject: [PATCH] ipfrag: remove assert for actual product reasons If the device's CPU resources are scarce and unable to execute the ip_fragin_timerwork callback in a timely manner, this assert will be triggered. This is a normal scenario that can occur. The logic should be modified to wait for the ip_fragin_timerwork to be executed if it has not been executed yet. Signed-off-by: zhanghongyu --- net/ipfrag/ipfrag.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/net/ipfrag/ipfrag.c b/net/ipfrag/ipfrag.c index 3253eef969..9150ba577d 100644 --- a/net/ipfrag/ipfrag.c +++ b/net/ipfrag/ipfrag.c @@ -171,8 +171,10 @@ ip_fragout_allocfragbuf(FAR struct iob_queue_s *fragq); static void ip_fragin_timerout_expiry(wdparm_t arg) { - ASSERT(g_wkfragtimeout.worker == NULL); - work_queue(IPFRAGWORK, &g_wkfragtimeout, ip_fragin_timerwork, NULL, 0); + if (g_wkfragtimeout.worker == NULL) + { + work_queue(IPFRAGWORK, &g_wkfragtimeout, ip_fragin_timerwork, NULL, 0); + } } /****************************************************************************