RELENG_7_1: bce driver change generating too much interrupts ?

Xin LI delphij at delphij.net
Tue Dec 2 16:44:58 PST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi guys,

I think I got a real fix.

Cheers,
- --
Xin LI <delphij at delphij.net>	http://www.delphij.net/
FreeBSD - The Power to Serve!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (FreeBSD)

iEYEARECAAYFAkk11n0ACgkQi+vbBBjt66Dy6wCfSl3eLRhj5TVs24Q+8ao5Mcz0
FNQAoK8KvziiXFoanhSlWv636o+HfYIj
=AixC
-----END PGP SIGNATURE-----
-------------- next part --------------
Index: if_bce.c
===================================================================
--- if_bce.c	(revision 185565)
+++ if_bce.c	(working copy)
@@ -7030,13 +7030,14 @@
 
 		/* Was it a link change interrupt? */
 		if ((status_attn_bits & STATUS_ATTN_BITS_LINK_STATE) !=
-			(sc->status_block->status_attn_bits_ack & STATUS_ATTN_BITS_LINK_STATE))
+			(sc->status_block->status_attn_bits_ack & STATUS_ATTN_BITS_LINK_STATE)) {
 			bce_phy_intr(sc);
 
-		/* Clear any transient status updates during link state change. */
-		REG_WR(sc, BCE_HC_COMMAND,
-			sc->hc_command | BCE_HC_COMMAND_COAL_NOW_WO_INT);
-		REG_RD(sc, BCE_HC_COMMAND);
+			/* Clear any transient status updates during link state change. */
+			REG_WR(sc, BCE_HC_COMMAND,
+				sc->hc_command | BCE_HC_COMMAND_COAL_NOW_WO_INT);
+			REG_RD(sc, BCE_HC_COMMAND);
+		}
 
 		/* If any other attention is asserted then the chip is toast. */
 		if (((status_attn_bits & ~STATUS_ATTN_BITS_LINK_STATE) !=


More information about the freebsd-stable mailing list