Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 02 Dec 2008 16:44:46 -0800
From:      Xin LI <delphij@delphij.net>
To:        d@delphij.net
Cc:        Mike Jakubik <mikej@rogers.com>, freebsd-stable@freebsd.org, geoffroy desvernay <dgeo@ec-marseille.fr>, demon@FreeBSD.ORG
Subject:   Re: RELENG_7_1: bce driver change generating too much interrupts ?
Message-ID:  <4935D67E.4070204@delphij.net>
In-Reply-To: <4935C453.8070301@delphij.net>
References:  <4935069A.8060209@ec-marseille.fr>	<a7f5cdae0a4a84bb3af5cb5f4a1bf57a.squirrel@wettoast.dyndns.org>	<49357BD0.4000008@delphij.net> <4935944A.9090509@ec-marseille.fr> <4935C453.8070301@delphij.net>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------030401080201050805010300
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

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

Hi guys,

I think I got a real fix.

Cheers,
- --
Xin LI <delphij@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-----

--------------030401080201050805010300
Content-Type: text/plain;
 name="patch-bce.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="patch-bce.diff"

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) !=

--------------030401080201050805010300--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4935D67E.4070204>