summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authoraozima <[email protected]>2017-11-28 16:00:04 +0800
committeraozima <[email protected]>2017-11-28 16:00:04 +0800
commit4b4a3ab2b79feb0f6414bf50a131a1b4ca67d074 (patch)
treee70f4849f4f306843ec9f0803f43c508e8b4ce1c /components
parent128c184554bf7c0955f8de97a59e39c8a6f6198f (diff)
[LWIP] make sure lwip initialization order.
Diffstat (limited to 'components')
-rw-r--r--components/net/lwip-2.0.2/src/arch/sys_arch.c5
-rw-r--r--components/net/lwip-2.0.2/src/netif/ethernetif.c10
2 files changed, 13 insertions, 2 deletions
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 d0862000ad..6e4bc64dc3 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,10 +136,13 @@ static void tcpip_init_done_callback(void *arg)
/**
* LwIP system initialization
*/
+extern int eth_system_device_init_private(void);
int lwip_system_init(void)
{
rt_err_t rc;
struct rt_semaphore done_sem;
+
+ eth_system_device_init_private();
/* set default netif to NULL */
netif_default = RT_NULL;
@@ -181,7 +184,7 @@ int lwip_system_init(void)
return 0;
}
-INIT_COMPONENT_EXPORT(lwip_system_init);
+INIT_PREV_EXPORT(lwip_system_init);
void sys_init(void)
{
diff --git a/components/net/lwip-2.0.2/src/netif/ethernetif.c b/components/net/lwip-2.0.2/src/netif/ethernetif.c
index 6fbf8597e9..362c4ea4ae 100644
--- a/components/net/lwip-2.0.2/src/netif/ethernetif.c
+++ b/components/net/lwip-2.0.2/src/netif/ethernetif.c
@@ -415,8 +415,17 @@ static void eth_rx_thread_entry(void* parameter)
}
#endif
+/* this function does not need,
+ * use eth_system_device_init_private()
+ * call by lwip_system_init().
+ */
int eth_system_device_init(void)
{
+ return 0;
+}
+
+int eth_system_device_init_private(void)
+{
rt_err_t result = RT_EOK;
/* initialize Rx thread. */
@@ -454,7 +463,6 @@ int eth_system_device_init(void)
return (int)result;
}
-INIT_PREV_EXPORT(eth_system_device_init);
#ifdef RT_USING_FINSH
#include <finsh.h>