diff options
Diffstat (limited to 'drivers/net/bonding')
-rw-r--r-- | drivers/net/bonding/bond_main.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 6287ffbda7f7..2bb70e052090 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
@@ -1390,6 +1390,11 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev) | |||
1390 | goto err_free; | 1390 | goto err_free; |
1391 | } | 1391 | } |
1392 | 1392 | ||
1393 | res = netdev_set_master(slave_dev, bond_dev); | ||
1394 | if (res) { | ||
1395 | dprintk("Error %d calling netdev_set_master\n", res); | ||
1396 | goto err_close; | ||
1397 | } | ||
1393 | /* open the slave since the application closed it */ | 1398 | /* open the slave since the application closed it */ |
1394 | res = dev_open(slave_dev); | 1399 | res = dev_open(slave_dev); |
1395 | if (res) { | 1400 | if (res) { |
@@ -1397,12 +1402,6 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev) | |||
1397 | goto err_restore_mac; | 1402 | goto err_restore_mac; |
1398 | } | 1403 | } |
1399 | 1404 | ||
1400 | res = netdev_set_master(slave_dev, bond_dev); | ||
1401 | if (res) { | ||
1402 | dprintk("Error %d calling netdev_set_master\n", res); | ||
1403 | goto err_close; | ||
1404 | } | ||
1405 | |||
1406 | new_slave->dev = slave_dev; | 1405 | new_slave->dev = slave_dev; |
1407 | slave_dev->priv_flags |= IFF_BONDING; | 1406 | slave_dev->priv_flags |= IFF_BONDING; |
1408 | 1407 | ||