diff options
| author | aozima <[email protected]> | 2017-11-28 16:00:04 +0800 |
|---|---|---|
| committer | aozima <[email protected]> | 2017-11-28 16:00:04 +0800 |
| commit | 4b4a3ab2b79feb0f6414bf50a131a1b4ca67d074 (patch) | |
| tree | e70f4849f4f306843ec9f0803f43c508e8b4ce1c /components | |
| parent | 128c184554bf7c0955f8de97a59e39c8a6f6198f (diff) | |
[LWIP] make sure lwip initialization order.
Diffstat (limited to 'components')
| -rw-r--r-- | components/net/lwip-2.0.2/src/arch/sys_arch.c | 5 | ||||
| -rw-r--r-- | components/net/lwip-2.0.2/src/netif/ethernetif.c | 10 |
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> |
