From fd094808a06e290432fc13c09aae808aea34d2ca Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Tue, 27 Aug 2013 12:03:53 +0100 Subject: [PATCH] bridge: inherit slave devices needed_headroom Some slave devices may have set a dev->needed_headroom value which is different than the default one, most likely in order to prepend a hardware descriptor in front of the Ethernet frame to send. Whenever a new slave is added to a bridge, ensure that we update the needed_headroom value accordingly to account for the slave needed_headroom value. Signed-off-by: Florian Fainelli Signed-off-by: David S. Miller --- net/bridge/br_if.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c index aa6c9a8ba32a..c41d5fbb91d0 100644 --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c @@ -383,6 +383,9 @@ int br_add_if(struct net_bridge *br, struct net_device *dev) netdev_update_features(br->dev); + if (br->dev->needed_headroom < dev->needed_headroom) + br->dev->needed_headroom = dev->needed_headroom; + spin_lock_bh(&br->lock); changed_addr = br_stp_recalculate_bridge_id(br);