From 5e2d2fc7c0e7ab7f27826c69eeb917ff92cc266e Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 2 Jul 2010 19:27:44 -0700 Subject: [PATCH] a missed .32 patch --- .../ixgbe-fix-return-of-invalid-txq.patch | 49 +++++++++++++++++++ review-2.6.32/series | 1 + 2 files changed, 50 insertions(+) create mode 100644 review-2.6.32/ixgbe-fix-return-of-invalid-txq.patch diff --git a/review-2.6.32/ixgbe-fix-return-of-invalid-txq.patch b/review-2.6.32/ixgbe-fix-return-of-invalid-txq.patch new file mode 100644 index 00000000000..10151aeb064 --- /dev/null +++ b/review-2.6.32/ixgbe-fix-return-of-invalid-txq.patch @@ -0,0 +1,49 @@ +From fdd3d631cddad20ad9d3e1eb7dbf26825a8a121f Mon Sep 17 00:00:00 2001 +From: Krishna Kumar +Date: Wed, 3 Feb 2010 13:13:10 +0000 +Subject: ixgbe: Fix return of invalid txq + +From: Krishna Kumar + +commit fdd3d631cddad20ad9d3e1eb7dbf26825a8a121f 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 +Signed-off-by: Jesse Brandeburg +Acked-by: Peter P Waskiewicz Jr +Signed-off-by: Jeff Kirsher +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + + +--- + drivers/net/ixgbe/ixgbe_main.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +--- a/drivers/net/ixgbe/ixgbe_main.c ++++ b/drivers/net/ixgbe/ixgbe_main.c +@@ -5241,9 +5241,13 @@ static int ixgbe_maybe_stop_tx(struct ne + 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; diff --git a/review-2.6.32/series b/review-2.6.32/series index db1415beecd..277ae983208 100644 --- a/review-2.6.32/series +++ b/review-2.6.32/series @@ -1,3 +1,4 @@ +ixgbe-fix-return-of-invalid-txq.patch oprofile-x86-fix-uninitialized-counter-usage-during-cpu-hotplug.patch oprofile-remove-double-ring-buffering.patch cpumask-fix-compat-getaffinity.patch -- 2.47.3