RELENG_7_1: bce driver change generating too much interrupts ?

Dmitry Sivachenko demon at freebsd.org
Wed Dec 3 01:02:31 PST 2008


On Tue, Dec 02, 2008 at 04:44:46PM -0800, Xin LI wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hi guys,
> 
> I think I got a real fix.
> 


I tried that patch with very recent 7-STABLE.
I does fix the problem for me.


Thanks a lot!



> 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-----

> 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