[kernel] r15656 - in dists/lenny/linux-2.6/debian: . patches/bugfix/all patches/series

Ben Hutchings benh at alioth.debian.org
Tue May 11 00:30:17 UTC 2010


Author: benh
Date: Tue May 11 00:30:14 2010
New Revision: 15656

Log:
bnx2: Fix lost MSI-X problem on 5709 NICs (Closes: #581001)

Added:
   dists/lenny/linux-2.6/debian/patches/bugfix/all/bnx2-Fix-lost-MSI-X-problem-on-5709-NICs.patch
Modified:
   dists/lenny/linux-2.6/debian/changelog
   dists/lenny/linux-2.6/debian/patches/series/23

Modified: dists/lenny/linux-2.6/debian/changelog
==============================================================================
--- dists/lenny/linux-2.6/debian/changelog	Mon May 10 18:22:24 2010	(r15655)
+++ dists/lenny/linux-2.6/debian/changelog	Tue May 11 00:30:14 2010	(r15656)
@@ -9,6 +9,7 @@
   * r8169: Work around hardware bug in handling over-length received frames
     (partial fix for #564110; CVE-2009-4537)
   * megaraid_sas: Version and documentation update (Closes: #547183)
+  * bnx2: Fix lost MSI-X problem on 5709 NICs (Closes: #581001)
 
   [ maximilian attems ]
   * openvz: printk_cpu have to be "cleared" in __vprintk (v2)

Added: dists/lenny/linux-2.6/debian/patches/bugfix/all/bnx2-Fix-lost-MSI-X-problem-on-5709-NICs.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/lenny/linux-2.6/debian/patches/bugfix/all/bnx2-Fix-lost-MSI-X-problem-on-5709-NICs.patch	Tue May 11 00:30:14 2010	(r15656)
@@ -0,0 +1,43 @@
+From c441b8d2cb2194b05550a558d6d95d8944e56a84 Mon Sep 17 00:00:00 2001
+From: Michael Chan <mchan at broadcom.com>
+Date: Tue, 27 Apr 2010 11:28:09 +0000
+Subject: [PATCH] bnx2: Fix lost MSI-X problem on 5709 NICs.
+
+It has been reported that under certain heavy traffic conditions in MSI-X
+mode, the driver can lose an MSI-X vector causing all packets in the
+associated rx/tx ring pair to be dropped.  The problem is caused by
+the chip dropping the write to unmask the MSI-X vector by the kernel
+(when migrating the IRQ for example).
+
+This can be prevented by increasing the GRC timeout value for these
+register read and write operations.
+
+Thanks to Dell for helping us debug this problem.
+
+Signed-off-by: Michael Chan <mchan at broadcom.com>
+Signed-off-by: David S. Miller <davem at davemloft.net>
+---
+ drivers/net/bnx2.c |    6 +++++-
+ 1 files changed, 5 insertions(+), 1 deletions(-)
+
+diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
+index a257bab..4c1e51e 100644
+--- a/drivers/net/bnx2.c
++++ b/drivers/net/bnx2.c
+@@ -4759,8 +4759,12 @@ bnx2_reset_chip(struct bnx2 *bp, u32 reset_code)
+ 		rc = bnx2_alloc_bad_rbuf(bp);
+ 	}
+ 
+-	if (bp->flags & BNX2_FLAG_USING_MSIX)
++	if (bp->flags & BNX2_FLAG_USING_MSIX) {
+ 		bnx2_setup_msix_tbl(bp);
++		/* Prevent MSIX table reads and write from timing out */
++		REG_WR(bp, BNX2_MISC_ECO_HW_CTL,
++			BNX2_MISC_ECO_HW_CTL_LARGE_GRC_TMOUT_EN);
++	}
+ 
+ 	return rc;
+ }
+-- 
+1.7.1
+

Modified: dists/lenny/linux-2.6/debian/patches/series/23
==============================================================================
--- dists/lenny/linux-2.6/debian/patches/series/23	Mon May 10 18:22:24 2010	(r15655)
+++ dists/lenny/linux-2.6/debian/patches/series/23	Tue May 11 00:30:14 2010	(r15656)
@@ -3,3 +3,4 @@
 + bugfix/all/net-r8169-improved-rx-length-check-errors.patch
 + bugfix/all/megaraid_sas-version-and-Documentation-Update.patch
 + bugfix/sparc/sunxvr500-ignore-secondary-output-devices.patch
++ bugfix/all/bnx2-Fix-lost-MSI-X-problem-on-5709-NICs.patch



More information about the Kernel-svn-changes mailing list