From ed6e8502c563e8bfe4528a5ccc6b837e48e55063 Mon Sep 17 00:00:00 2001 From: Danny Kukawka Date: Fri, 17 Feb 2012 05:43:23 +0000 Subject: [PATCH] --- yaml --- r: 290199 b: refs/heads/master c: 43aabec51e0ab5d71c30530eec55963673354033 h: refs/heads/master i: 290197: 789b891f00322c8dc0ff1833cf5c8f35ae023977 290195: 46cdb7dad8f9da62b1c201185a684c07ce3eabb4 290191: d0325cdf861f0ea439dd696b14df0223fc8da8e4 v: v3 --- [refs] | 2 +- trunk/drivers/net/ethernet/lantiq_etop.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 4382b7d11bd9..7465a22ecb38 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7718f2c27dbdae0b22b2268a9c1b38edf0d8fa16 +refs/heads/master: 43aabec51e0ab5d71c30530eec55963673354033 diff --git a/trunk/drivers/net/ethernet/lantiq_etop.c b/trunk/drivers/net/ethernet/lantiq_etop.c index 3369b7db777d..e89808ff73ed 100644 --- a/trunk/drivers/net/ethernet/lantiq_etop.c +++ b/trunk/drivers/net/ethernet/lantiq_etop.c @@ -634,6 +634,7 @@ ltq_etop_init(struct net_device *dev) struct ltq_etop_priv *priv = netdev_priv(dev); struct sockaddr mac; int err; + bool random_mac = false; ether_setup(dev); dev->watchdog_timeo = 10 * HZ; @@ -646,11 +647,17 @@ ltq_etop_init(struct net_device *dev) if (!is_valid_ether_addr(mac.sa_data)) { pr_warn("etop: invalid MAC, using random\n"); random_ether_addr(mac.sa_data); + random_mac = true; } err = ltq_etop_set_mac_address(dev, &mac); if (err) goto err_netdev; + + /* Set addr_assign_type here, ltq_etop_set_mac_address would reset it. */ + if (random_mac) + dev->addr_assign_type |= NET_ADDR_RANDOM; + ltq_etop_set_multicast_list(dev); err = ltq_etop_mdio_init(dev); if (err)