net: use eth_hw_addr_random() and reset addr_assign_type
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / net / ethernet / smsc / smsc911x.c
index 6a1cd2360818e40c90812dc7c34a32dc2adecba0..4a6971027076613f7765a187e2c28eb11df56104 100644 (file)
@@ -1833,6 +1833,7 @@ static int smsc911x_set_mac_address(struct net_device *dev, void *p)
        if (!is_valid_ether_addr(addr->sa_data))
                return -EADDRNOTAVAIL;
 
+       dev->addr_assign_type &= ~NET_ADDR_RANDOM;
        memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN);
 
        spin_lock_irq(&pdata->mac_lock);
@@ -2485,7 +2486,7 @@ static int __devinit smsc911x_drv_probe(struct platform_device *pdev)
                                   "Mac Address is read from LAN911x EEPROM");
                } else {
                        /* eeprom values are invalid, generate random MAC */
-                       random_ether_addr(dev->dev_addr);
+                       eth_hw_addr_random(dev);
                        smsc911x_set_hw_mac_address(pdata, dev->dev_addr);
                        SMSC_TRACE(pdata, probe,
                                   "MAC Address is set to random_ether_addr");