From: Jakub Kicinski Date: Mon, 1 Sep 2025 21:12:13 +0000 (-0700) Subject: eth: fbnic: don't pass NAPI into pp alloc X-Git-Tag: v6.18-rc1~132^2~259^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3812339b6cc95602b5ee08ed1ffb34c21cb7d5e7;p=thirdparty%2Fkernel%2Fstable.git eth: fbnic: don't pass NAPI into pp alloc Queue API may ask us to allocate page pools when the device is down, to validate that we ingested a memory provider binding. Don't require NAPI to be passed to fbnic_alloc_qt_page_pools(), to make calling fbnic_alloc_qt_page_pools() without NAPI possible. Signed-off-by: Jakub Kicinski Link: https://patch.msgid.link/20250901211214.1027927-14-kuba@kernel.org Signed-off-by: Paolo Abeni --- diff --git a/drivers/net/ethernet/meta/fbnic/fbnic_txrx.c b/drivers/net/ethernet/meta/fbnic/fbnic_txrx.c index f5b83b6e1cc36..2e8ea3e01eba5 100644 --- a/drivers/net/ethernet/meta/fbnic/fbnic_txrx.c +++ b/drivers/net/ethernet/meta/fbnic/fbnic_txrx.c @@ -1515,8 +1515,8 @@ void fbnic_free_napi_vectors(struct fbnic_net *fbn) } static int -fbnic_alloc_qt_page_pools(struct fbnic_net *fbn, struct fbnic_napi_vector *nv, - struct fbnic_q_triad *qt, unsigned int rxq_idx) +fbnic_alloc_qt_page_pools(struct fbnic_net *fbn, struct fbnic_q_triad *qt, + unsigned int rxq_idx) { struct page_pool_params pp_params = { .order = 0, @@ -1524,7 +1524,7 @@ fbnic_alloc_qt_page_pools(struct fbnic_net *fbn, struct fbnic_napi_vector *nv, PP_FLAG_DMA_SYNC_DEV, .pool_size = fbn->hpq_size + fbn->ppq_size, .nid = NUMA_NO_NODE, - .dev = nv->dev, + .dev = fbn->netdev->dev.parent, .dma_dir = DMA_BIDIRECTIONAL, .offset = 0, .max_len = PAGE_SIZE, @@ -1971,7 +1971,7 @@ static int fbnic_alloc_rx_qt_resources(struct fbnic_net *fbn, struct device *dev = fbn->netdev->dev.parent; int err; - err = fbnic_alloc_qt_page_pools(fbn, nv, qt, qt->cmpl.q_idx); + err = fbnic_alloc_qt_page_pools(fbn, qt, qt->cmpl.q_idx); if (err) return err;