> > - fwd_skb = skb_copy(skb, GFP_ATOMIC); > > + if (skb_headroom(skb) >= local->tx_headroom) > > + fwd_skb = skb_copy(skb, GFP_ATOMIC); > > + else > > + fwd_skb = skb_copy_expand(skb, local->tx_headroom, > > + 0, GFP_ATOMIC); > > Why bother making this conditional? It seems that always using > skb_copy_expand() should be sufficient? The code between the two (skb_copy, > skb_copy_expand) is almost identical anyway, apart from the latter setting > the headroom (and tailroom). Indeed, calling skb_copy_expand() would work in any case. I will send new patch cedric