diff options
Diffstat (limited to 'drivers/net/ethernet/aeroflex/greth.c')
| -rw-r--r-- | drivers/net/ethernet/aeroflex/greth.c | 8 | 
1 files changed, 4 insertions, 4 deletions
| diff --git a/drivers/net/ethernet/aeroflex/greth.c b/drivers/net/ethernet/aeroflex/greth.c index c560ad06f0be..447dc64a17e5 100644 --- a/drivers/net/ethernet/aeroflex/greth.c +++ b/drivers/net/ethernet/aeroflex/greth.c @@ -1025,7 +1025,7 @@ static int greth_set_mac_add(struct net_device *dev, void *p)  	if (!is_valid_ether_addr(addr->sa_data))  		return -EADDRNOTAVAIL; -	memcpy(dev->dev_addr, addr->sa_data, dev->addr_len); +	eth_hw_addr_set(dev, addr->sa_data);  	GRETH_REGSAVE(regs->esa_msb, dev->dev_addr[0] << 8 | dev->dev_addr[1]);  	GRETH_REGSAVE(regs->esa_lsb, dev->dev_addr[2] << 24 | dev->dev_addr[3] << 16 |  		      dev->dev_addr[4] << 8 | dev->dev_addr[5]); @@ -1346,6 +1346,7 @@ static int greth_of_probe(struct platform_device *ofdev)  	int i;  	int err;  	int tmp; +	u8 addr[ETH_ALEN];  	unsigned long timeout;  	dev = alloc_etherdev(sizeof(struct greth_private)); @@ -1449,8 +1450,6 @@ static int greth_of_probe(struct platform_device *ofdev)  			break;  	}  	if (i == 6) { -		u8 addr[ETH_ALEN]; -  		err = of_get_mac_address(ofdev->dev.of_node, addr);  		if (!err) {  			for (i = 0; i < 6; i++) @@ -1464,7 +1463,8 @@ static int greth_of_probe(struct platform_device *ofdev)  	}  	for (i = 0; i < 6; i++) -		dev->dev_addr[i] = macaddr[i]; +		addr[i] = macaddr[i]; +	eth_hw_addr_set(dev, addr);  	macaddr[5]++; |