Commit 0d735f13 authored by Stephen Hemminger's avatar Stephen Hemminger Committed by David S. Miller

vmxnet3: use netdev_alloc_skb_ip_align

Use netdev_alloc_skb_align, rather than open code using dev_alloc_skb.
Change allocation at startup to use GFP_KERNEL.
Signed-off-by: default avatarStephen Hemminger <stephen@networkplumber.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8c174e6f
...@@ -580,15 +580,14 @@ vmxnet3_rq_alloc_rx_buf(struct vmxnet3_rx_queue *rq, u32 ring_idx, ...@@ -580,15 +580,14 @@ vmxnet3_rq_alloc_rx_buf(struct vmxnet3_rx_queue *rq, u32 ring_idx,
if (rbi->buf_type == VMXNET3_RX_BUF_SKB) { if (rbi->buf_type == VMXNET3_RX_BUF_SKB) {
if (rbi->skb == NULL) { if (rbi->skb == NULL) {
rbi->skb = dev_alloc_skb(rbi->len + rbi->skb = __netdev_alloc_skb_ip_align(adapter->netdev,
NET_IP_ALIGN); rbi->len,
GFP_KERNEL);
if (unlikely(rbi->skb == NULL)) { if (unlikely(rbi->skb == NULL)) {
rq->stats.rx_buf_alloc_failure++; rq->stats.rx_buf_alloc_failure++;
break; break;
} }
rbi->skb->dev = adapter->netdev;
skb_reserve(rbi->skb, NET_IP_ALIGN);
rbi->dma_addr = pci_map_single(adapter->pdev, rbi->dma_addr = pci_map_single(adapter->pdev,
rbi->skb->data, rbi->len, rbi->skb->data, rbi->len,
PCI_DMA_FROMDEVICE); PCI_DMA_FROMDEVICE);
...@@ -1221,7 +1220,8 @@ vmxnet3_rq_rx_complete(struct vmxnet3_rx_queue *rq, ...@@ -1221,7 +1220,8 @@ vmxnet3_rq_rx_complete(struct vmxnet3_rx_queue *rq,
skip_page_frags = false; skip_page_frags = false;
ctx->skb = rbi->skb; ctx->skb = rbi->skb;
new_skb = dev_alloc_skb(rbi->len + NET_IP_ALIGN); new_skb = netdev_alloc_skb_ip_align(adapter->netdev,
rbi->len);
if (new_skb == NULL) { if (new_skb == NULL) {
/* Skb allocation failed, do not handover this /* Skb allocation failed, do not handover this
* skb to stack. Reuse it. Drop the existing pkt * skb to stack. Reuse it. Drop the existing pkt
...@@ -1239,8 +1239,6 @@ vmxnet3_rq_rx_complete(struct vmxnet3_rx_queue *rq, ...@@ -1239,8 +1239,6 @@ vmxnet3_rq_rx_complete(struct vmxnet3_rx_queue *rq,
skb_put(ctx->skb, rcd->len); skb_put(ctx->skb, rcd->len);
/* Immediate refill */ /* Immediate refill */
new_skb->dev = adapter->netdev;
skb_reserve(new_skb, NET_IP_ALIGN);
rbi->skb = new_skb; rbi->skb = new_skb;
rbi->dma_addr = pci_map_single(adapter->pdev, rbi->dma_addr = pci_map_single(adapter->pdev,
rbi->skb->data, rbi->len, rbi->skb->data, rbi->len,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment