On 05/08/15 16:16, Stephen Hemminger wrote: > Something like this: > > Subject: [PATCH net-next] sky2: use random address if EEPROM is bad > > On some embedded systems the EEPROM does not contain a valid MAC address. > In that case it is better to fallback to a generated mac address and > let init scripts fix the value later. > > Reported-by: Liviu Dudau <liviu.du...@arm.com> > Signed-off-by: Stephen Hemminger <step...@networkplumber.org> > > > --- a/drivers/net/ethernet/marvell/sky2.c 2015-05-21 15:13:03.621126050 > -0700 > +++ b/drivers/net/ethernet/marvell/sky2.c 2015-08-05 16:12:38.734534467 > -0700 > @@ -4819,6 +4819,16 @@ static struct net_device *sky2_init_netd > memcpy_fromio(dev->dev_addr, hw->regs + B2_MAC_1 + port * 8, > ETH_ALEN); > > + /* if the address is invalid, use a random value */ > + if (!is_valid_ether_addr(dev->dev_addr)) { > + struct sockaddr sa = { AF_UNSPEC }; > + > + netdev_warn(dev, > + "Invalid MAC address defaulting to random\n"); > + sky2_set_mac_address(dev, &sa); > + dev->addr_assign_type |= NET_ADDR_RANDOM;
There is a helper for that: eth_hw_addr_random() which sets the addr_assign_type for you and copies the address to dev->dev_addr. -- Florian -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html