diff options
author | David S. Miller <davem@davemloft.net> | 2013-09-03 20:57:57 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-09-03 20:57:57 -0400 |
commit | 61c8106e296cbb51eec11f5cb0ffd6ac30672f55 (patch) | |
tree | 758a813e35f67ff4007a1f38bb12923315d7f1cf /net/8021q/vlan_dev.c | |
parent | 5a17a390de7bdbcfff9b8f344273a886ca4cf8bf (diff) | |
parent | 314cb11b493e7b8cfc7e2db01ad8e4e8bc0a259d (diff) |
Merge branch 'addr_assign_type'
Bjørn Mork says:
====================
net: set addr_assign_type when inheriting a dev_addr
Copying the dev_addr from a parent device is an operation
common to a number of drivers. The addr_assign_type should
be updated accordingly, either by reusing the value from
the source device or explicitly indicating that the address
is stolen by setting addr_assign_type to NET_ADDR_STOLEN.
This patch set adds a helper copying both the dev_addr and
the addr_assign_type, and use this helper in drivers which
don't currently set the addr_assign_type. Using NET_ADDR_STOLEN
might be more appropriate in some of these cases. Please
let me know, and I'll update the patch accordingly.
Changes in v2:
- assuming addr_len == ETH_ALEN to allow optimized memcpy
- dropped the vt6656 patch due to addr_len being unset in that driver
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/8021q/vlan_dev.c')
-rw-r--r-- | net/8021q/vlan_dev.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c index 9ab8a7ed99c..09bf1c38805 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c @@ -582,7 +582,7 @@ static int vlan_dev_init(struct net_device *dev) dev->dev_id = real_dev->dev_id; if (is_zero_ether_addr(dev->dev_addr)) - memcpy(dev->dev_addr, real_dev->dev_addr, dev->addr_len); + eth_hw_addr_inherit(dev, real_dev); if (is_zero_ether_addr(dev->broadcast)) memcpy(dev->broadcast, real_dev->broadcast, dev->addr_len); |