Author: delphij
Date: Fri Dec  5 21:30:13 2008
New Revision: 185653
URL: http://svn.freebsd.org/changeset/base/185653

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:
  stable/7/sys/   (props changed)
  stable/7/sys/dev/bce/if_bce.c

Modified: stable/7/sys/dev/bce/if_bce.c
==============================================================================
--- stable/7/sys/dev/bce/if_bce.c       Fri Dec  5 21:19:24 2008        
(r185652)
+++ stable/7/sys/dev/bce/if_bce.c       Fri Dec  5 21:30:13 2008        
(r185653)
@@ -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) !=
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to