From: Greg Kroah-Hartman Date: Sat, 3 Jul 2010 02:27:44 +0000 (-0700) Subject: a missed .32 patch X-Git-Tag: v2.6.31.14~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5e2d2fc7c0e7ab7f27826c69eeb917ff92cc266e;p=thirdparty%2Fkernel%2Fstable-queue.git a missed .32 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