Commit b6e11785 authored by Lorenzo Bianconi's avatar Lorenzo Bianconi Committed by David S. Miller
Browse files

net: mvneta: recycle the page in case of out-of-order



Recycle the received page into the page_pool cache if the dma descriptors
arrived in a wrong order

Fixes: ca0e0146 ("net: mvneta: move skb build after descriptors processing")
Signed-off-by: default avatarLorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 769f5083
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -2383,8 +2383,12 @@ static int mvneta_rx_swbm(struct napi_struct *napi,
			mvneta_swbm_rx_frame(pp, rx_desc, rxq, &xdp_buf,
					     &size, page, &ps);
		} else {
			if (unlikely(!xdp_buf.data_hard_start))
			if (unlikely(!xdp_buf.data_hard_start)) {
				rx_desc->buf_phys_addr = 0;
				page_pool_put_full_page(rxq->page_pool, page,
							true);
				continue;
			}

			mvneta_swbm_add_rx_fragment(pp, rx_desc, rxq, &xdp_buf,
						    &size, page);