diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c index 96bc0e5fb1163c530cf61f14a3ab11ca643d1875..c21643bbd3b41381e54a8090df25042e6fb18d93 100644 --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c @@ -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) diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.h b/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.h index bf2a999f609fadb38677e13548e56cc1a00351d0..9d5ea0ce5834a25782212255c9c45e1e940b85a5 100644 --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.h +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.h @@ -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); diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_mt7620.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_mt7620.c index 3d610ec38ac0250f6561bd1e336d02d99af61542..f408f077332063438caf4c3ff6f17703c1673bca 100644 --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_mt7620.c +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_mt7620.c @@ -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, diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt2880.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt2880.c index 715221b100eb90f3264fe75a5ca36ba6fed86807..147687b39e61ba66d3c2e56c75b348a2d9a1dfee 100644 --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt2880.c +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt2880.c @@ -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, diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt305x.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt305x.c index 4c04ca5f5b0cf68efaad6976f95b759b285a0bc5..eacb8d874b680e8ab46c9be0553704eabb532253 100644 --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt305x.c +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt305x.c @@ -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, diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt3883.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt3883.c index 5d540c2c1eb9d76d9389099cf13972942ddba44f..82499fe3b65e6fc4dcbadc89ae292445a46c7812 100644 --- a/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt3883.c +++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/soc_rt3883.c @@ -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,