diff --git a/drivers/wifi/eswifi/eswifi.h b/drivers/wifi/eswifi/eswifi.h index a3b71e1ab6d..3ade2227e16 100644 --- a/drivers/wifi/eswifi/eswifi.h +++ b/drivers/wifi/eswifi/eswifi.h @@ -67,6 +67,7 @@ struct eswifi_dev { struct eswifi_sta sta; enum eswifi_request req; enum eswifi_role role; + u8_t mac[6]; char buf[MAX_DATA_SIZE]; struct k_mutex mutex; void *bus_data; diff --git a/drivers/wifi/eswifi/eswifi_core.c b/drivers/wifi/eswifi/eswifi_core.c index d71039c64fd..46ada935012 100644 --- a/drivers/wifi/eswifi/eswifi_core.c +++ b/drivers/wifi/eswifi/eswifi_core.c @@ -391,7 +391,9 @@ static void eswifi_iface_init(struct net_if *iface) LOG_DBG("MAC Address %02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); - net_if_set_link_addr(iface, mac, sizeof(mac), NET_LINK_ETHERNET); + memcpy(eswifi->mac, mac, sizeof(eswifi->mac)); + net_if_set_link_addr(iface, eswifi->mac, sizeof(eswifi->mac), + NET_LINK_ETHERNET); eswifi->iface = iface;