Le vendredi 07 janvier 2011 à 14:20 -0800, Ben Greear a écrit : > On 0 > > Using skb_copy() is wrong then, since it makes a copy (order-1 > > allocations) > > > > It should use : > > skb_alloc( actual_size_of_frame not the 3840 thing ...) > > copy(data) > > We need the extra stuff copied too I think (like skb->cb). > > If you could provide a bit more complete example code, I'll be happy > to test it...
take a random drivers/net using copybreak ... say ... tg3.c lines 4785 len = length_of_the_current_frame copy_skb = netdev_alloc_skb(..., len); // allocates exact required size not a byte more.... ... skb_copy_from_linear_data(skb, copy_skb->data, len); ... skb_put(skb, len); ... _______________________________________________ ath9k-devel mailing list ath9k-devel@lists.ath9k.org https://lists.ath9k.org/mailman/listinfo/ath9k-devel