From 0150e56c76497a6e291a307c4fd95a98826f91f9 Mon Sep 17 00:00:00 2001 From: Tony Wu Date: Thu, 3 Nov 2016 13:17:47 +0800 Subject: [PATCH] lwip - power up emac before reading its settings emac settings are only available after powered up. Signed-off-by: Tony Wu --- features/FEATURE_LWIP/lwip-interface/emac_lwip.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/features/FEATURE_LWIP/lwip-interface/emac_lwip.c b/features/FEATURE_LWIP/lwip-interface/emac_lwip.c index f79be5d471..f189bb2a98 100644 --- a/features/FEATURE_LWIP/lwip-interface/emac_lwip.c +++ b/features/FEATURE_LWIP/lwip-interface/emac_lwip.c @@ -63,10 +63,13 @@ err_t emac_lwip_if_init(struct netif *netif) mac->ops.set_link_input_cb(mac, emac_lwip_input, netif); mac->ops.set_link_state_cb(mac, emac_lwip_state_change, netif); - netif->hwaddr_len = mac->ops.get_hwaddr_size(mac); - mac->ops.get_hwaddr(mac, netif->hwaddr); + if (!mac->ops.power_up(mac)) { + err = ERR_IF; + } netif->mtu = mac->ops.get_mtu_size(mac); + netif->hwaddr_len = mac->ops.get_hwaddr_size(mac); + mac->ops.get_hwaddr(mac, netif->hwaddr); /* Interface capabilities */ netif->flags = NETIF_FLAG_BROADCAST | NETIF_FLAG_ETHARP | NETIF_FLAG_ETHERNET | NETIF_FLAG_IGMP; @@ -79,10 +82,6 @@ err_t emac_lwip_if_init(struct netif *netif) netif->linkoutput = emac_lwip_low_level_output; - if (!mac->ops.power_up(mac)) { - err = ERR_IF; - } - return err; }