mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
ixgbe: Fix return of invalid txq
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>
This commit is contained in:
parent
e44d38e1b7
commit
fdd3d631cd
@ -5329,8 +5329,11 @@ static u16 ixgbe_select_queue(struct net_device *dev, struct sk_buff *skb)
|
|||||||
struct ixgbe_adapter *adapter = netdev_priv(dev);
|
struct ixgbe_adapter *adapter = netdev_priv(dev);
|
||||||
int txq = smp_processor_id();
|
int txq = smp_processor_id();
|
||||||
|
|
||||||
if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE)
|
if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE) {
|
||||||
|
while (unlikely(txq >= dev->real_num_tx_queues))
|
||||||
|
txq -= dev->real_num_tx_queues;
|
||||||
return txq;
|
return txq;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef IXGBE_FCOE
|
#ifdef IXGBE_FCOE
|
||||||
if ((adapter->flags & IXGBE_FLAG_FCOE_ENABLED) &&
|
if ((adapter->flags & IXGBE_FLAG_FCOE_ENABLED) &&
|
||||||
|
Loading…
Reference in New Issue
Block a user