Problems with em interfaces on FreeBSD 6.1

Pyun YongHyeon pyunyh at gmail.com
Thu Aug 17 04:30:40 UTC 2006


On Fri, Aug 11, 2006 at 10:06:00AM +0200, Daniel Ryslink wrote:
 > 
 > Hello,
 > 
 > We have currently upgraded one of our routers to Gigabit connectivity and 
 > FreeBSD 6.1 Release.
 > 
 > The hardware is Supermicro SuperServer 5015M-T  - we have tried both the 
 > integrated NIC and yet another external Intel NIC - specifically
 > 
 > Intel PRO/1000 MT Dual Port Server Adapter
 > PWLA8492MT
 > 
 > The problem is that several times a day, the following appears in 
 > messages:
 > 
 > Aug 11 08:41:44 b2 kernel: em0: watchdog timeout -- resetting
 > 
 > accompanied with a loss of connectivity lasting for several seconds.
 > 
 > We have tried using both the default driver that came with the FreeBSD 
 > installation as well as the newest driver from Intel dated 2th April 2006 
 > compiled as a module, but the problem still persists.
 > 
 > If anyone encountered the problem and has a solution, I would be very 
 > grateful.
 > 

Because I can't reproduce it here and I failed to find a possible
cause of the issue.
As a last resort would you give attached patch a try?
The patch was generated against latest stable.

-- 
Regards,
Pyun YongHyeon
-------------- next part --------------
--- if_em.c.orig	Fri Aug 11 10:56:10 2006
+++ if_em.c	Thu Aug 17 13:27:43 2006
@@ -943,6 +943,15 @@
 		return;
 	}
 
+	/* Relaim pending Tx descriptors */
+	em_txeof(adapter);
+	if (adapter->num_tx_desc_avail == adapter->num_tx_desc) {
+		device_printf(adapter->dev,
+		    "Missing Tx completion interrupt!\n");
+		EM_UNLOCK(adapter);
+		return;
+	}
+	
 	if (em_check_for_link(&adapter->hw) == 0)
 		device_printf(adapter->dev, "watchdog timeout -- resetting\n");
 


More information about the freebsd-net mailing list