diff --git a/bsp/lpc176x/rtconfig.h b/bsp/lpc176x/rtconfig.h
index 31b2b1afee77d709ee05f508371cbe1961ba3a61..61b2f82711475acb8f2d55ae6c9e4921338caf9b 100644
--- a/bsp/lpc176x/rtconfig.h
+++ b/bsp/lpc176x/rtconfig.h
@@ -142,7 +142,7 @@
//
#define RT_LWIP_TCP_PCB_NUM 3
//
-#define RT_LWIP_TCP_SND_BUF 2048
+#define RT_LWIP_TCP_SND_BUF (2 * TCP_MSS)
//
#define RT_LWIP_TCP_WND 2048
//
diff --git a/components/net/lwip-1.4.1/src/arch/sys_arch.c b/components/net/lwip-1.4.1/src/arch/sys_arch.c
index fc3b9b84479d77799dfb8819e0fd57b476158d0e..958803f1563a3a5acb9f6635fc16d7a0ec0d5523 100644
--- a/components/net/lwip-1.4.1/src/arch/sys_arch.c
+++ b/components/net/lwip-1.4.1/src/arch/sys_arch.c
@@ -139,7 +139,7 @@ int lwip_system_init(void)
{
LWIP_ASSERT("Failed to create semaphore", 0);
- return;
+ return -1;
}
tcpip_init(tcpip_init_done_callback, (void *)&done_sem);
@@ -149,7 +149,7 @@ int lwip_system_init(void)
{
rt_sem_detach(&done_sem);
- return;
+ return -1;
}
rt_sem_detach(&done_sem);
diff --git a/components/net/lwip-1.4.1/src/include/netif/ethernetif.h b/components/net/lwip-1.4.1/src/include/netif/ethernetif.h
index 4aa4525ce2561b2f383ce8c83ff226c287991a2e..53dacf2270b33721ea36a8b06343b5ed9bb3da68 100644
--- a/components/net/lwip-1.4.1/src/include/netif/ethernetif.h
+++ b/components/net/lwip-1.4.1/src/include/netif/ethernetif.h
@@ -30,6 +30,6 @@ rt_err_t eth_device_init(struct eth_device * dev, char *name);
rt_err_t eth_device_init_with_flag(struct eth_device *dev, char *name, rt_uint8_t flag);
rt_err_t eth_device_linkchange(struct eth_device* dev, rt_bool_t up);
-void eth_system_device_init(void);
+int eth_system_device_init(void);
#endif /* __NETIF_ETHERNETIF_H__ */
diff --git a/components/net/lwip-1.4.1/src/netif/ethernetif.c b/components/net/lwip-1.4.1/src/netif/ethernetif.c
index 4757981fa05678bda05b9baa053daccc173a6e0b..2853fdcd7c538bb9d6a13bbf624cf0b25eca45e0 100644
--- a/components/net/lwip-1.4.1/src/netif/ethernetif.c
+++ b/components/net/lwip-1.4.1/src/netif/ethernetif.c
@@ -350,7 +350,7 @@ static void eth_rx_thread_entry(void* parameter)
}
}
-void eth_system_device_init()
+int eth_system_device_init(void)
{
rt_err_t result = RT_EOK;
@@ -382,6 +382,8 @@ void eth_system_device_init()
result = rt_thread_startup(ð_tx_thread);
RT_ASSERT(result == RT_EOK);
+
+ return 0;
}
INIT_DEVICE_EXPORT(eth_system_device_init);