All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next] bnxt: Detach page from page pool before sending up the stack
@ 2020-01-09 19:35 Jonathan Lemon
  2020-01-10  2:19 ` Andy Gospodarek
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Jonathan Lemon @ 2020-01-09 19:35 UTC (permalink / raw)
  To: netdev, gospo, michael.chan; +Cc: davem, kernel-team

When running in XDP mode, pages come from the page pool, and should
be freed back to the same pool or specifically detached.  Currently,
when the driver re-initializes, the page pool destruction is delayed
forever since it thinks there are oustanding pages.

Fixes: 322b87ca55f2 ("bnxt_en: add page_pool support")
Signed-off-by: Jonathan Lemon <jonathan.lemon@gmail.com>
---
 drivers/net/ethernet/broadcom/bnxt/bnxt.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index 39d4309b17fb..33eb8cd6551e 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
@@ -944,6 +944,7 @@ static struct sk_buff *bnxt_rx_page_skb(struct bnxt *bp,
 	dma_addr -= bp->rx_dma_offset;
 	dma_unmap_page_attrs(&bp->pdev->dev, dma_addr, PAGE_SIZE, bp->rx_dir,
 			     DMA_ATTR_WEAK_ORDERING);
+	page_pool_release_page(rxr->page_pool, page);
 
 	if (unlikely(!payload))
 		payload = eth_get_headlen(bp->dev, data_ptr, len);
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-01-11  7:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-09 19:35 [PATCH net-next] bnxt: Detach page from page pool before sending up the stack Jonathan Lemon
2020-01-10  2:19 ` Andy Gospodarek
     [not found]   ` <402D3501-9EED-49F3-A5C8-003F78DD0D59@gmail.com>
2020-01-10 18:42     ` Andy Gospodarek
2020-01-10 19:19 ` Andy Gospodarek
2020-01-11  7:04 ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.