aboutsummaryrefslogtreecommitdiff
path: root/net/dsa/slave.c
diff options
context:
space:
mode:
authorLinaro CI <ci_notify@linaro.org>2019-03-04 18:29:25 +0000
committerLinaro CI <ci_notify@linaro.org>2019-03-04 18:29:25 +0000
commitef428ae55db4b3035731c296183f9837876ff74d (patch)
treeafae1af9b85d27907b077910db4b29933464c5d5 /net/dsa/slave.c
parent6077210d3f7400a1a633fb7bc7df59873b00ea0d (diff)
parent75dc655d9ec0d9484a8d8ea498a4301b2dee590b (diff)
Merge remote-tracking branch 'qcs404-ethernet/tracking-qcomlt-qcs404-ethernet' into integration-linux-qcomltintegration-linux-qcomlt-20190312-005717-v5.0-237-gef428ae55db4
Diffstat (limited to 'net/dsa/slave.c')
-rw-r--r--net/dsa/slave.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/dsa/slave.c b/net/dsa/slave.c
index a1c9fe155057..115edd4ffe12 100644
--- a/net/dsa/slave.c
+++ b/net/dsa/slave.c
@@ -77,7 +77,9 @@ static int dsa_slave_open(struct net_device *dev)
if (!(master->flags & IFF_UP))
return -ENETDOWN;
- if (!ether_addr_equal(dev->dev_addr, master->dev_addr)) {
+ if (!is_valid_ether_addr(dev->dev_addr)) {
+ eth_hw_addr_inherit(dev, master);
+ } else if (!ether_addr_equal(dev->dev_addr, master->dev_addr)) {
err = dev_uc_add(master, dev->dev_addr);
if (err < 0)
goto out;