-+ if (skb_headroom(skb) < sizeof(amsdu_hdr) || skb_tailroom(skb) < 3) {
-+ I802_DEBUG_INC(local->tx_expand_skb_head);
-+
-+ if (pskb_expand_head(skb, sizeof(amsdu_hdr), 3, GFP_ATOMIC)) {
-+ wiphy_debug(local->hw.wiphy,
-+ "failed to reallocate TX buffer\n");
-+ return false;
-+ }
-+ }
-+
-+ subframe_len += ieee80211_amsdu_pad(skb, subframe_len);
++ if (!ieee80211_amsdu_realloc_pad(local, skb, sizeof(amsdu_hdr),
++ &subframe_len))
++ return false;