|
@@ -1957,6 +1957,10 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev)
|
|
|
|
|
|
|
|
err_undo_flags:
|
|
err_undo_flags:
|
|
|
bond_compute_features(bond);
|
|
bond_compute_features(bond);
|
|
|
|
|
+ /* Enslave of first slave has failed and we need to fix master's mac */
|
|
|
|
|
+ if (bond->slave_cnt == 0 &&
|
|
|
|
|
+ ether_addr_equal(bond_dev->dev_addr, slave_dev->dev_addr))
|
|
|
|
|
+ eth_hw_addr_random(bond_dev);
|
|
|
|
|
|
|
|
return res;
|
|
return res;
|
|
|
}
|
|
}
|