From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Florian Fainelli" Subject: [PATCH] bridge: inherit slave devices needed_headroom Date: Tue, 27 Aug 2013 12:03:53 +0100 Message-ID: <1377601433-22353-1-git-send-email-f.fainelli@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Cc: stephen@networkplumber.org, davem@davemloft.net, vyasevic@redhat.com, eric.dumazet@gmail.com, "Florian Fainelli" To: netdev@vger.kernel.org Return-path: Received: from mms3.broadcom.com ([216.31.210.19]:2142 "EHLO mms3.broadcom.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751381Ab3H0LF2 (ORCPT ); Tue, 27 Aug 2013 07:05:28 -0400 Sender: netdev-owner@vger.kernel.org List-ID: 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 --- 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 aa6c9a8..c41d5fb 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); -- 1.8.1.2