aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-12-18 13:30:49 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-12-20 14:52:17 -0500
commit4cd06a344db752f513437138953af191cbe9a691 (patch)
treeec6a52da07449e20a10e59f2ee669467dd56089e /net
parent489ee9195a7de9e6bc833d639ff6b553ffdad90e (diff)
mac80211: skip unnecessary pskb_expand_head calls
If the skb is not cloned and we don't need any extra headroom, there is no point in reallocating the skb head. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/tx.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 8d01d21dff1e..90ee23550033 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -1546,8 +1546,10 @@ static int ieee80211_skb_resize(struct ieee80211_local *local,
1546 1546
1547 if (skb_header_cloned(skb)) 1547 if (skb_header_cloned(skb))
1548 I802_DEBUG_INC(local->tx_expand_skb_head_cloned); 1548 I802_DEBUG_INC(local->tx_expand_skb_head_cloned);
1549 else 1549 else if (head_need || tail_need)
1550 I802_DEBUG_INC(local->tx_expand_skb_head); 1550 I802_DEBUG_INC(local->tx_expand_skb_head);
1551 else
1552 return 0;
1551 1553
1552 if (pskb_expand_head(skb, head_need, tail_need, GFP_ATOMIC)) { 1554 if (pskb_expand_head(skb, head_need, tail_need, GFP_ATOMIC)) {
1553 wiphy_debug(local->hw.wiphy, 1555 wiphy_debug(local->hw.wiphy,