File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Expand file tree Collapse file tree 1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -1455,6 +1455,10 @@ static void bond_compute_features(struct bonding *bond)
1455
1455
static void bond_setup_by_slave (struct net_device * bond_dev ,
1456
1456
struct net_device * slave_dev )
1457
1457
{
1458
+ bool was_up = !!(bond_dev -> flags & IFF_UP );
1459
+
1460
+ dev_close (bond_dev );
1461
+
1458
1462
bond_dev -> header_ops = slave_dev -> header_ops ;
1459
1463
1460
1464
bond_dev -> type = slave_dev -> type ;
@@ -1469,6 +1473,8 @@ static void bond_setup_by_slave(struct net_device *bond_dev,
1469
1473
bond_dev -> flags &= ~(IFF_BROADCAST | IFF_MULTICAST );
1470
1474
bond_dev -> flags |= (IFF_POINTOPOINT | IFF_NOARP );
1471
1475
}
1476
+ if (was_up )
1477
+ dev_open (bond_dev , NULL );
1472
1478
}
1473
1479
1474
1480
/* On bonding slaves other than the currently active slave, suppress
You can’t perform that action at this time.
0 commit comments