> > @@ -2067,13 +2067,9 @@ static struct sk_buff *smsc95xx_tx_fixup(struct
> usbnet *dev,
> > /* We do not advertise SG, so skbs should be already linearized */
> > BUG_ON(skb_shinfo(skb)->nr_frags);
> >
> > - if (skb_headroom(skb) < overhead) {
> > - struct sk_buff *skb2 = skb_copy_expand(skb,
> > - overhead, 0, flags);
> > - dev_kfree_skb_any(skb);
> > - skb = skb2;
> > - if (!skb)
> > - return NULL;
> > + /* Make writable and expand header space by overhead if required
> */
> > + if (skb_cow_head(skb, overhead)) {
>
> I believe you still need to
> dev_kfree_skb_any(skb);
>
I think caller of usbnet_start_xmit() takes care of free when return NULL.
- Woojung