diff --git a/net/eth.c b/net/eth.c index 49458c8db914b96aa082920ed800639b73fcbb2a..321d5b18fd842d3d5df52549b2647ab8fb9ef816 100644 --- a/net/eth.c +++ b/net/eth.c @@ -218,9 +218,12 @@ int eth_write_hwaddr(struct eth_device *dev, const char *base_name, } if (dev->write_hwaddr && - !eth_mac_skip(eth_number) && - is_valid_ether_addr(dev->enetaddr)) + !eth_mac_skip(eth_number)) { + if (!is_valid_ether_addr(dev->enetaddr)) + return -1; + ret = dev->write_hwaddr(dev); + } return ret; }