[RFC v1 12/22] net: pass extack to netdev_rx_queue_restart()
From: Pavel Begunkov <asml.silence@gmail.com>
Date: 2025-07-28 11:03:30
Also in:
io-uring
Subsystem:
broadcom bnxt_en 50 gigabit ethernet driver, netdevsim, networking drivers, networking [general], the rest · Maintainers:
Michael Chan, Pavan Chebbi, Jakub Kicinski, Andrew Lunn, "David S. Miller", Eric Dumazet, Paolo Abeni, Linus Torvalds
From: Jakub Kicinski <kuba@kernel.org> Pass extack to netdev_rx_queue_restart(). Subsequent change will need it. Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> --- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 +- drivers/net/netdevsim/netdev.c | 2 +- include/net/netdev_rx_queue.h | 3 ++- net/core/netdev_rx_queue.c | 7 ++++--- 4 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
index c3195be0ac26..b5f7a65bf678 100644
--- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c@@ -11518,7 +11518,7 @@ static void bnxt_irq_affinity_notify(struct irq_affinity_notify *notify, netdev_lock(irq->bp->dev); if (netif_running(irq->bp->dev)) { - err = netdev_rx_queue_restart(irq->bp->dev, irq->ring_nr); + err = netdev_rx_queue_restart(irq->bp->dev, irq->ring_nr, NULL); if (err) netdev_err(irq->bp->dev, "RX queue restart failed: err=%d\n", err);
diff --git a/drivers/net/netdevsim/netdev.c b/drivers/net/netdevsim/netdev.c
index 03003adc41fb..a759424cfde5 100644
--- a/drivers/net/netdevsim/netdev.c
+++ b/drivers/net/netdevsim/netdev.c@@ -800,7 +800,7 @@ nsim_qreset_write(struct file *file, const char __user *data, } ns->rq_reset_mode = mode; - ret = netdev_rx_queue_restart(ns->netdev, queue); + ret = netdev_rx_queue_restart(ns->netdev, queue, NULL); ns->rq_reset_mode = 0; if (ret) goto exit_unlock;
diff --git a/include/net/netdev_rx_queue.h b/include/net/netdev_rx_queue.h
index 8cdcd138b33f..a7def1f94823 100644
--- a/include/net/netdev_rx_queue.h
+++ b/include/net/netdev_rx_queue.h@@ -56,6 +56,7 @@ get_netdev_rx_queue_index(struct netdev_rx_queue *queue) return index; } -int netdev_rx_queue_restart(struct net_device *dev, unsigned int rxq); +int netdev_rx_queue_restart(struct net_device *dev, unsigned int rxq, + struct netlink_ext_ack *extack); #endif
diff --git a/net/core/netdev_rx_queue.c b/net/core/netdev_rx_queue.c
index d8a710db21cd..b0523eb44e10 100644
--- a/net/core/netdev_rx_queue.c
+++ b/net/core/netdev_rx_queue.c@@ -10,7 +10,8 @@ #include "dev.h" #include "page_pool_priv.h" -int netdev_rx_queue_restart(struct net_device *dev, unsigned int rxq_idx) +int netdev_rx_queue_restart(struct net_device *dev, unsigned int rxq_idx, + struct netlink_ext_ack *extack) { struct netdev_rx_queue *rxq = __netif_get_rx_queue(dev, rxq_idx); const struct netdev_queue_mgmt_ops *qops = dev->queue_mgmt_ops;
@@ -136,7 +137,7 @@ int __net_mp_open_rxq(struct net_device *dev, unsigned int rxq_idx, #endif rxq->mp_params = *p; - ret = netdev_rx_queue_restart(dev, rxq_idx); + ret = netdev_rx_queue_restart(dev, rxq_idx, extack); if (ret) { rxq->mp_params.mp_ops = NULL; rxq->mp_params.mp_priv = NULL;
@@ -179,7 +180,7 @@ void __net_mp_close_rxq(struct net_device *dev, unsigned int ifq_idx, rxq->mp_params.mp_ops = NULL; rxq->mp_params.mp_priv = NULL; - err = netdev_rx_queue_restart(dev, ifq_idx); + err = netdev_rx_queue_restart(dev, ifq_idx, NULL); WARN_ON(err && err != -ENETDOWN); }
--
2.49.0