summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2017-11-29 08:58:52 +0800
committerGitHub <[email protected]>2017-11-29 08:58:52 +0800
commite34f53c4ca4b14900f68e83b52949ff211f246d4 (patch)
tree3171e4e522a33965de632751f4b397a8b7fd0ed2 /components
parenta3bc27bbdc2c950ea110c2c5191d17c902ed4da0 (diff)
parent4b4a3ab2b79feb0f6414bf50a131a1b4ca67d074 (diff)
Merge pull request #1052 from aozima/lwip_dev
[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>