/* This doesn't change hardware matching, so needs to be overridden for most real devices.  */
int eth_mac_addr(struct net_device *dev, void *p)
/* This doesn't change hardware matching, so needs to be overridden for most real devices.  */
int eth_mac_addr(struct net_device *dev, void *p)
{
	struct sockaddr *addr = p;
	if (netif_running(dev))
		return -EBUSY;
	if (!is_valid_ether_addr(addr->sa_data))
		return -EADDRNOTAVAIL;
	memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
	return 0;
}