diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-12-18 13:30:49 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-12-20 14:52:17 -0500 |
commit | 4cd06a344db752f513437138953af191cbe9a691 (patch) | |
tree | ec6a52da07449e20a10e59f2ee669467dd56089e /net | |
parent | 489ee9195a7de9e6bc833d639ff6b553ffdad90e (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.c | 4 |
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, |