chelsio: use netdev_alloc_skb_ip_align
authorstephen hemminger <stephen@networkplumber.org>
Wed, 20 Mar 2013 09:02:41 +0000 (09:02 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 20 Mar 2013 19:24:40 +0000 (15:24 -0400)
Use netdev_alloc_sk_ip_align in the case where packet is copied.
This handles case where NET_IP_ALIGN == 0 as well as adding required header
padding.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb/sge.c

index 89bef504d9dc77a004b12dc4d6f65342bb7f6ac8..55fe8c9f0484daa5c0e30e2d24037490b0a663dc 100644 (file)
@@ -1046,11 +1046,10 @@ static inline struct sk_buff *get_packet(struct pci_dev *pdev,
        const struct freelQ_ce *ce = &fl->centries[fl->cidx];
 
        if (len < copybreak) {
-               skb = alloc_skb(len + 2, GFP_ATOMIC);
+               skb = netdev_alloc_skb_ip_align(NULL, len);
                if (!skb)
                        goto use_orig_buf;
 
-               skb_reserve(skb, 2);    /* align IP header */
                skb_put(skb, len);
                pci_dma_sync_single_for_cpu(pdev,
                                            dma_unmap_addr(ce, dma_addr),