ralink: use random generate mac address instead of default one.
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 13 Mar 2015 08:38:01 +0000 (08:38 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 13 Mar 2015 08:38:01 +0000 (08:38 +0000)
Signed-off-by: michael lee <igvtee@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44740 3c298f89-4303-0410-b956-a3cf2f4a3e73

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 96bc0e5..c21643b 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 bf2a999..9d5ea0c 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 3d610ec..f408f07 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 715221b..147687b 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 4c04ca5..eacb8d8 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 5d540c2..82499fe 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,