svn commit: r185654 - in releng/7.1/sys: . dev/bce
Xin LI
delphij at FreeBSD.org
Fri Dec 5 13:32:30 PST 2008
Author: delphij
Date: Fri Dec 5 21:32:30 2008
New Revision: 185654
URL: http://svn.freebsd.org/changeset/base/185654
Log:
MFC r185593:
Don't attempt to clear status updates if we did not do a link state
change. As a side effect, this makes the excessive interrupts to
disappear which has been observed as a regression in recent stable/7.
Reported by: many (on -stable@)
Reviewed by: davidch
Approved by: re (kensmith, kib)
Modified:
releng/7.1/sys/ (props changed)
releng/7.1/sys/dev/bce/if_bce.c
Modified: releng/7.1/sys/dev/bce/if_bce.c
==============================================================================
--- releng/7.1/sys/dev/bce/if_bce.c Fri Dec 5 21:30:13 2008 (r185653)
+++ releng/7.1/sys/dev/bce/if_bce.c Fri Dec 5 21:32:30 2008 (r185654)
@@ -7030,13 +7030,14 @@ bce_intr(void *xsc)
/* 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 svn-src-all
mailing list