Skip to content

Commit 3b11b23

Browse files
Merge pull request #4238 from tung7970/fix-mbedos
lwip - power up emac before reading its settings
2 parents c1cbd26 + 0b2bfca commit 3b11b23

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

features/FEATURE_LWIP/lwip-interface/emac_lwip.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,10 +63,13 @@ err_t emac_lwip_if_init(struct netif *netif)
6363
mac->ops.set_link_input_cb(mac, emac_lwip_input, netif);
6464
mac->ops.set_link_state_cb(mac, emac_lwip_state_change, netif);
6565

66-
netif->hwaddr_len = mac->ops.get_hwaddr_size(mac);
67-
mac->ops.get_hwaddr(mac, netif->hwaddr);
66+
if (!mac->ops.power_up(mac)) {
67+
err = ERR_IF;
68+
}
6869

6970
netif->mtu = mac->ops.get_mtu_size(mac);
71+
netif->hwaddr_len = mac->ops.get_hwaddr_size(mac);
72+
mac->ops.get_hwaddr(mac, netif->hwaddr);
7073

7174
/* Interface capabilities */
7275
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)
7982

8083
netif->linkoutput = emac_lwip_low_level_output;
8184

82-
if (!mac->ops.power_up(mac)) {
83-
err = ERR_IF;
84-
}
85-
8685
return err;
8786
}
8887

features/FEATURE_LWIP/lwip-interface/lwip_stack.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,8 +393,6 @@ nsapi_error_t mbed_lwip_init(emac_interface_t *emac)
393393
// Check if we've already brought up lwip
394394
if (!mbed_lwip_get_mac_address()) {
395395
// Set up network
396-
mbed_lwip_set_mac_address();
397-
398396
sys_sem_new(&lwip_tcpip_inited, 0);
399397
sys_sem_new(&lwip_netif_linked, 0);
400398
sys_sem_new(&lwip_netif_has_addr, 0);
@@ -411,6 +409,7 @@ nsapi_error_t mbed_lwip_init(emac_interface_t *emac)
411409
return NSAPI_ERROR_DEVICE_ERROR;
412410
}
413411

412+
mbed_lwip_set_mac_address();
414413
netif_set_default(&lwip_netif);
415414

416415
netif_set_link_callback(&lwip_netif, mbed_lwip_netif_link_irq);

0 commit comments

Comments
 (0)