@@ -2515,6 +2515,18 @@ struct netdev_queue *netdev_get_tx_queue(const struct net_device *dev,
return &dev->_tx[index];
}
+static inline
+unsigned int get_netdev_queue_index(struct netdev_queue *queue)
+{
+ struct net_device *dev = queue->dev;
+ unsigned int i;
+
+ i = queue - dev->_tx;
+ DEBUG_NET_WARN_ON_ONCE(i >= dev->num_tx_queues);
+
+ return i;
+}
+
static inline struct netdev_queue *skb_get_tx_queue(const struct net_device *dev,
const struct sk_buff *skb)
{
@@ -3856,17 +3868,15 @@ __netif_get_rx_queue(struct net_device *dev, unsigned int rxq)
return dev->_rx + rxq;
}
-#ifdef CONFIG_SYSFS
static inline unsigned int get_netdev_rx_queue_index(
struct netdev_rx_queue *queue)
{
struct net_device *dev = queue->dev;
int index = queue - dev->_rx;
- BUG_ON(index >= dev->num_rx_queues);
+ DEBUG_NET_WARN_ON_ONCE(index >= dev->num_rx_queues);
return index;
}
-#endif
int netif_get_num_default_rss_queues(void);
@@ -1239,17 +1239,6 @@ static ssize_t tx_timeout_show(struct netdev_queue *queue, char *buf)
return sysfs_emit(buf, fmt_ulong, trans_timeout);
}
-static unsigned int get_netdev_queue_index(struct netdev_queue *queue)
-{
- struct net_device *dev = queue->dev;
- unsigned int i;
-
- i = queue - dev->_tx;
- BUG_ON(i >= dev->num_tx_queues);
-
- return i;
-}
-
static ssize_t traffic_class_show(struct netdev_queue *queue,
char *buf)
{
The kernel helpers for retrieving tx/rx queue index (get_netdev_queue_index and get_netdev_rx_queue_index) are restricted to sysfs, move this out for more usability. Also, replace BUG_ON with DEBUG_NET_WARN_ON_ONCE. Signed-off-by: Amritha Nambiar <amritha.nambiar@intel.com> --- include/linux/netdevice.h | 16 +++++++++++++--- net/core/net-sysfs.c | 11 ----------- 2 files changed, 13 insertions(+), 14 deletions(-)