skb_tailroom(skb), tailen);
        }
 
-       if (unlikely(!skb_cloned(skb) && tailen <= skb_tailroom(skb))) {
-               nsg = 1;
-               trailer = skb;
-       } else {
-               /* TODO: We could avoid skb_cow_data() if skb has no frag_list
-                * e.g. by skb_fill_page_desc() to add another page to the skb
-                * with the wanted tailen... However, page skbs look not often,
-                * so take it easy now!
-                * Cloned skbs e.g. from link_xmit() seems no choice though :(
-                */
-               nsg = skb_cow_data(skb, tailen, &trailer);
-               if (unlikely(nsg < 0)) {
-                       pr_err("TX: skb_cow_data() returned %d\n", nsg);
-                       return nsg;
-               }
+       nsg = skb_cow_data(skb, tailen, &trailer);
+       if (unlikely(nsg < 0)) {
+               pr_err("TX: skb_cow_data() returned %d\n", nsg);
+               return nsg;
        }
 
        pskb_put(skb, trailer, tailen);