diff --git a/components/net/lwip-2.0.2/src/arch/sys_arch.c b/components/net/lwip-2.0.2/src/arch/sys_arch.c index c8e1fe1d33f9dc677603349cbf2e2f9a7a81ac1f..316b970048cc42a457a20aac5eebf7e275fda753 100644 --- a/components/net/lwip-2.0.2/src/arch/sys_arch.c +++ b/components/net/lwip-2.0.2/src/arch/sys_arch.c @@ -136,11 +136,19 @@ static void tcpip_init_done_callback(void *arg) * LwIP system initialization */ extern int eth_system_device_init_private(void); +static volatile uint8_t init_ok = 0; int lwip_system_init(void) { rt_err_t rc; struct rt_semaphore done_sem; - + + if(init_ok) + { + rt_kprintf("lwip system already init.\n"); + return 0; + } + init_ok = 1; + eth_system_device_init_private(); /* set default netif to NULL */