mac80211: skip unnecessary pskb_expand_head calls
authorFelix Fietkau <nbd@openwrt.org>
Sat, 18 Dec 2010 18:30:49 +0000 (19:30 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 20 Dec 2010 19:52:17 +0000 (14:52 -0500)
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>
net/mac80211/tx.c

index 8d01d21..90ee235 100644 (file)
@@ -1546,8 +1546,10 @@ static int ieee80211_skb_resize(struct ieee80211_local *local,
 
        if (skb_header_cloned(skb))
                I802_DEBUG_INC(local->tx_expand_skb_head_cloned);
-       else
+       else if (head_need || tail_need)
                I802_DEBUG_INC(local->tx_expand_skb_head);
+       else
+               return 0;
 
        if (pskb_expand_head(skb, head_need, tail_need, GFP_ATOMIC)) {
                wiphy_debug(local->hw.wiphy,