]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
eth: fbnic: don't pass NAPI into pp alloc
authorJakub Kicinski <kuba@kernel.org>
Mon, 1 Sep 2025 21:12:13 +0000 (14:12 -0700)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 4 Sep 2025 08:19:17 +0000 (10:19 +0200)
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 <kuba@kernel.org>
Link: https://patch.msgid.link/20250901211214.1027927-14-kuba@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/meta/fbnic/fbnic_txrx.c

index f5b83b6e1cc36ac3b9fe9afd9faa24b7f302a92b..2e8ea3e01eba5402324c655000d5dee566940f9b 100644 (file)
@@ -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;