mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
ixgbe: Fix return of invalid txq
commit fdd3d631cd upstream.
a developer had complained of getting lots of warnings:
"eth16 selects TX queue 98, but real number of TX queues is 64"
http://www.mail-archive.com/e1000-devel@lists.sourceforge.net/msg02200.html
As there was no follow up on that bug, I am submitting this
patch assuming that the other return points will not return
invalid txq's, and also that this fixes the bug (not tested).
Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
c5f1e1aaad
commit
4768004584
@@ -5241,9 +5241,13 @@ static int ixgbe_maybe_stop_tx(struct net_device *netdev,
|
||||
static u16 ixgbe_select_queue(struct net_device *dev, struct sk_buff *skb)
|
||||
{
|
||||
struct ixgbe_adapter *adapter = netdev_priv(dev);
|
||||
int txq = smp_processor_id();
|
||||
|
||||
if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE)
|
||||
return smp_processor_id();
|
||||
if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE) {
|
||||
while (unlikely(txq >= dev->real_num_tx_queues))
|
||||
txq -= dev->real_num_tx_queues;
|
||||
return txq;
|
||||
}
|
||||
|
||||
if (adapter->flags & IXGBE_FLAG_DCB_ENABLED)
|
||||
return (skb->vlan_tci & IXGBE_TX_FLAGS_VLAN_PRIO_MASK) >> 13;
|
||||
|
||||
Reference in New Issue
Block a user