Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+5 −7
Original line number Original line Diff line number Diff line
@@ -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,


			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,
			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,