From b55946edb5562454c8fbbced6c3ed55dc5497faf Mon Sep 17 00:00:00 2001 From: Jay Vosburgh Date: Fri, 22 Sep 2006 21:53:39 -0700 Subject: [PATCH] --- yaml --- r: 36503 b: refs/heads/master c: 54ef313714070b397d3857289f0fd099b7643631 h: refs/heads/master i: 36501: 366351e5decbe92fa5542d629bbd9355ca4517c2 36499: 00c29a92e8f54b1ce912d0e54ffef7758e0a735b 36495: 7e9f808998977a76a409d2b088164672e3a92e1d v: v3 --- [refs] | 2 +- trunk/drivers/net/bonding/bond_main.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index c9a0bd435f47..02e294a51ce8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a50d8de2cc872818b61e60c20c75be3f19aa6887 +refs/heads/master: 54ef313714070b397d3857289f0fd099b7643631 diff --git a/trunk/drivers/net/bonding/bond_main.c b/trunk/drivers/net/bonding/bond_main.c index 3d7693d1c512..d2f460b0dbab 100644 --- a/trunk/drivers/net/bonding/bond_main.c +++ b/trunk/drivers/net/bonding/bond_main.c @@ -1211,10 +1211,14 @@ static int bond_compute_features(struct bonding *bond) unsigned long features = BOND_INTERSECT_FEATURES; struct slave *slave; struct net_device *bond_dev = bond->dev; + unsigned short max_hard_header_len = ETH_HLEN; int i; - bond_for_each_slave(bond, slave, i) + bond_for_each_slave(bond, slave, i) { features &= (slave->dev->features & BOND_INTERSECT_FEATURES); + if (slave->dev->hard_header_len > max_hard_header_len) + max_hard_header_len = slave->dev->hard_header_len; + } if ((features & NETIF_F_SG) && !(features & NETIF_F_ALL_CSUM)) @@ -1232,6 +1236,7 @@ static int bond_compute_features(struct bonding *bond) features |= (bond_dev->features & ~BOND_INTERSECT_FEATURES); bond_dev->features = features; + bond_dev->hard_header_len = max_hard_header_len; return 0; }