diff --git a/[refs] b/[refs] index c1910513d70e..f8816d0a94a3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4c507d2897bd9be810b3403ade73b04cf6fdfd4a +refs/heads/master: c8585bd89e2e3c87eab6ca711e09b3af20fd469b diff --git a/trunk/net/ethernet/eth.c b/trunk/net/ethernet/eth.c index a2468363978e..a93af86b8474 100644 --- a/trunk/net/ethernet/eth.c +++ b/trunk/net/ethernet/eth.c @@ -288,6 +288,8 @@ int eth_mac_addr(struct net_device *dev, void *p) if (!is_valid_ether_addr(addr->sa_data)) return -EADDRNOTAVAIL; memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN); + /* if device marked as NET_ADDR_RANDOM, reset it */ + dev->addr_assign_type &= ~NET_ADDR_RANDOM; return 0; } EXPORT_SYMBOL(eth_mac_addr);