ralink: use random generate mac address instead of default one.
authorJohn Crispin <john@openwrt.org>
Fri, 13 Mar 2015 08:38:01 +0000 (08:38 +0000)
committerJohn Crispin <john@openwrt.org>
Fri, 13 Mar 2015 08:38:01 +0000 (08:38 +0000)
Signed-off-by: michael lee <igvtee@gmail.com>
SVN-Revision: 44740

target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c
target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.h
target/linux/ramips/files/drivers/net/ethernet/ralink/soc_mt7620.c
target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt2880.c
target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt305x.c
target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt3883.c

index 96bc0e5fb1163c530cf61f14a3ab11ca643d1875..c21643bbd3b41381e54a8090df25042e6fb18d93 100644 (file)
@@ -1228,9 +1228,12 @@ static int __init fe_init(struct net_device *dev)
                priv->soc->switch_init(priv);
 
        of_get_mac_address_mtd(priv->device->of_node, dev->dev_addr);
-       /*If the mac address is invalid, use default mac address  */
-       if (!is_valid_ether_addr(dev->dev_addr))
-               memcpy(dev->dev_addr, priv->soc->mac, ETH_ALEN);
+       /*If the mac address is invalid, use random mac address  */
+       if (!is_valid_ether_addr(dev->dev_addr)) {
+               random_ether_addr(dev->dev_addr);
+               dev_err(priv->device, "generated random MAC address %pM\n",
+                               dev->dev_addr);
+       }
 
        err = fe_mdio_init(priv);
        if (err)
index bf2a999f609fadb38677e13548e56cc1a00351d0..9d5ea0ce5834a25782212255c9c45e1e940b85a5 100644 (file)
@@ -386,7 +386,6 @@ struct fe_phy {
 
 struct fe_soc_data
 {
-       unsigned char mac[6];
        const u32 *reg_table;
 
        void (*init_data)(struct fe_soc_data *data, struct net_device *netdev);
index 3d610ec38ac0250f6561bd1e336d02d99af61542..f408f077332063438caf4c3ff6f17703c1673bca 100644 (file)
@@ -229,7 +229,6 @@ static void mt7621_set_mac(struct fe_priv *priv, unsigned char *mac)
 }
 
 static struct fe_soc_data mt7620_data = {
-       .mac = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 },
        .init_data = mt7620_init_data,
        .reset_fe = mt7620_fe_reset,
        .set_mac = mt7620_set_mac,
@@ -251,7 +250,6 @@ static struct fe_soc_data mt7620_data = {
 };
 
 static struct fe_soc_data mt7621_data = {
-       .mac = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 },
        .init_data = mt7621_init_data,
        .reset_fe = mt7621_fe_reset,
        .set_mac = mt7621_set_mac,
index 715221b100eb90f3264fe75a5ca36ba6fed86807..147687b39e61ba66d3c2e56c75b348a2d9a1dfee 100644 (file)
@@ -57,7 +57,6 @@ static int rt2880_fwd_config(struct fe_priv *priv)
 }
 
 struct fe_soc_data rt2880_data = {
-       .mac = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 },
        .init_data = rt2880_init_data,
        .reset_fe = rt2880_fe_reset,
        .fwd_config = rt2880_fwd_config,
index 4c04ca5f5b0cf68efaad6976f95b759b285a0bc5..eacb8d874b680e8ab46c9be0553704eabb532253 100644 (file)
@@ -125,7 +125,6 @@ static void rt5350_fe_reset(void)
 }
 
 static struct fe_soc_data rt3050_data = {
-       .mac = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 },
        .init_data = rt305x_init_data,
        .reset_fe = rt305x_fe_reset,
        .fwd_config = rt3050_fwd_config,
@@ -137,7 +136,6 @@ static struct fe_soc_data rt3050_data = {
 };
 
 static struct fe_soc_data rt5350_data = {
-       .mac = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 },
        .init_data = rt5350_init_data,
        .reg_table = rt5350_reg_table,
        .reset_fe = rt5350_fe_reset,
index 5d540c2c1eb9d76d9389099cf13972942ddba44f..82499fe3b65e6fc4dcbadc89ae292445a46c7812 100644 (file)
@@ -56,7 +56,6 @@ static void rt3883_init_data(struct fe_soc_data *data,
 }
 
 static struct fe_soc_data rt3883_data = {
-       .mac = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 },
        .init_data = rt3883_init_data,
        .reset_fe = rt3883_fe_reset,
        .fwd_config = rt3883_fwd_config,