]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
netdevice: add netdev_tx_reset_subqueue() shorthand
authorAlexander Lobakin <aleksander.lobakin@intel.com>
Wed, 4 Sep 2024 15:47:45 +0000 (17:47 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 18 May 2025 06:24:05 +0000 (08:24 +0200)
[ Upstream commit 3dc95a3edd0a86b4a59670b3fafcc64c7d83e2e7 ]

Add a shorthand similar to other net*_subqueue() helpers for resetting
the queue by its index w/o obtaining &netdev_tx_queue beforehand
manually.

Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Signed-off-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Stable-dep-of: 4db6c75124d8 ("net: ethernet: mtk_eth_soc: reset all TX queues on DMA free")
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/linux/netdevice.h

index 337a9d1c558f3c3630ddcd9857a445405ffa7233..0b0a172337dbac5716e5e5556befd95b4c201f5b 100644 (file)
@@ -3614,6 +3614,17 @@ static inline void netdev_tx_reset_queue(struct netdev_queue *q)
 #endif
 }
 
+/**
+ * netdev_tx_reset_subqueue - reset the BQL stats and state of a netdev queue
+ * @dev: network device
+ * @qid: stack index of the queue to reset
+ */
+static inline void netdev_tx_reset_subqueue(const struct net_device *dev,
+                                           u32 qid)
+{
+       netdev_tx_reset_queue(netdev_get_tx_queue(dev, qid));
+}
+
 /**
  *     netdev_reset_queue - reset the packets and bytes count of a network device
  *     @dev_queue: network device
@@ -3623,7 +3634,7 @@ static inline void netdev_tx_reset_queue(struct netdev_queue *q)
  */
 static inline void netdev_reset_queue(struct net_device *dev_queue)
 {
-       netdev_tx_reset_queue(netdev_get_tx_queue(dev_queue, 0));
+       netdev_tx_reset_subqueue(dev_queue, 0);
 }
 
 /**