Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 73e0026f authored by Ben Hutchings's avatar Ben Hutchings
Browse files

sfc: Correct efx_for_each_possible_channel_tx_queue() to skip non-TX channels



efx_for_each_possible_channel_tx_queue() should do nothing for RX-only
or extra channels.  The current definition results in allocating
additional unused hardware TX queues when using the mqprio qdisc and
either separate_tx_channels or SR-IOV.

Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
parent 2d0cc56d
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -1030,6 +1030,9 @@ static inline bool efx_tx_queue_used(struct efx_tx_queue *tx_queue)

/* Iterate over all possible TX queues belonging to a channel */
#define efx_for_each_possible_channel_tx_queue(_tx_queue, _channel)	\
	if (!efx_channel_has_tx_queues(_channel))			\
		;							\
	else								\
		for (_tx_queue = (_channel)->tx_queue;			\
		     _tx_queue < (_channel)->tx_queue + EFX_TXQ_TYPES;	\
		     _tx_queue++)