4.9-RC and bge

John Polstra jdp at polstra.com
Tue Sep 30 08:21:20 PDT 2003


On 30-Sep-2003 Damon Anton Permezel wrote:
> Recent SUP.
> Installed on Dell PowerEdge 4600.
> Getting tons of:
> 
> Sep 30 12:23:16 zige /kernel: bge0: gigabit link up
> Sep 30 12:23:46 zige last message repeated 98 times

Check your dmesg output, and I bet you'll see that bge0 is sharing an
IRQ with another device.  (If not, I'd like to hear about it.)  This
bug was fixed in -current in revision 1.41 of if_bge.c, but it never
got merged to -stable.  I have a patch for -stable that I am planning
to commit after the source freeze lifts.  It is attached to this mail.
Please let me know whether it solves your problem or not.

John
-------------- next part --------------
Index: if_bge.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/bge/if_bge.c,v
retrieving revision 1.3.2.28
diff -u -r1.3.2.28 if_bge.c
--- if_bge.c	26 Sep 2003 16:02:04 -0000	1.3.2.28
+++ if_bge.c	30 Sep 2003 15:15:45 -0000
@@ -2222,11 +2222,12 @@
 {
 	struct bge_softc *sc;
 	struct ifnet *ifp;
+	u_int32_t statusword;
 	u_int32_t status;
 
-
 	sc = xsc;
 	ifp = &sc->arpcom.ac_if;
+	statusword = loadandclear(&sc->bge_rdata->bge_status_block.bge_status);
 
 #ifdef notdef
 	/* Avoid this for now -- checking this register is expensive. */
@@ -2263,13 +2264,7 @@
 			    BRGPHY_INTRS);
 		}
 	} else {
-		if ((sc->bge_rdata->bge_status_block.bge_status &
-		    BGE_STATFLAG_UPDATED) &&
-		    (sc->bge_rdata->bge_status_block.bge_status &
-		    BGE_STATFLAG_LINKSTATE_CHANGED)) {
-			sc->bge_rdata->bge_status_block.bge_status &=
-			    ~(BGE_STATFLAG_UPDATED|
-			    BGE_STATFLAG_LINKSTATE_CHANGED);
+		if (statusword & BGE_STATFLAG_LINKSTATE_CHANGED) {
 			/*
 			 * Sometimes PCS encoding errors are detected in
 			 * TBI mode (on fiber NICs), and for some reason


More information about the freebsd-stable mailing list