diff options
Diffstat (limited to 'drivers/net/bonding/bond_main.c')
-rw-r--r-- | drivers/net/bonding/bond_main.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 02842d05c11f..df21e84f8198 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
@@ -1557,8 +1557,10 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev) | |||
1557 | 1557 | ||
1558 | if (slave_dev->type != ARPHRD_ETHER) | 1558 | if (slave_dev->type != ARPHRD_ETHER) |
1559 | bond_setup_by_slave(bond_dev, slave_dev); | 1559 | bond_setup_by_slave(bond_dev, slave_dev); |
1560 | else | 1560 | else { |
1561 | ether_setup(bond_dev); | 1561 | ether_setup(bond_dev); |
1562 | bond_dev->priv_flags &= ~IFF_TX_SKB_SHARING; | ||
1563 | } | ||
1562 | 1564 | ||
1563 | netdev_bonding_change(bond_dev, | 1565 | netdev_bonding_change(bond_dev, |
1564 | NETDEV_POST_TYPE_CHANGE); | 1566 | NETDEV_POST_TYPE_CHANGE); |
@@ -4330,7 +4332,7 @@ static void bond_setup(struct net_device *bond_dev) | |||
4330 | bond_dev->tx_queue_len = 0; | 4332 | bond_dev->tx_queue_len = 0; |
4331 | bond_dev->flags |= IFF_MASTER|IFF_MULTICAST; | 4333 | bond_dev->flags |= IFF_MASTER|IFF_MULTICAST; |
4332 | bond_dev->priv_flags |= IFF_BONDING; | 4334 | bond_dev->priv_flags |= IFF_BONDING; |
4333 | bond_dev->priv_flags &= ~IFF_XMIT_DST_RELEASE; | 4335 | bond_dev->priv_flags &= ~(IFF_XMIT_DST_RELEASE | IFF_TX_SKB_SHARING); |
4334 | 4336 | ||
4335 | /* At first, we block adding VLANs. That's the only way to | 4337 | /* At first, we block adding VLANs. That's the only way to |
4336 | * prevent problems that occur when adding VLANs over an | 4338 | * prevent problems that occur when adding VLANs over an |