- Don't disable interrupt in bge_intr(), just acknowledge it. This avoids
commit835abff62472ca568a36611ddcf0f074e9e8da3b
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Thu, 26 Apr 2007 11:58:10 +0000 (26 11:58 +0000)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Thu, 26 Apr 2007 11:58:10 +0000 (26 11:58 +0000)
tree4dc80fb0ccc8e6383319deba8928b4233bdeef06
parentb9566b2403a47d1558aa39ae9090d6b6dc8e598d
- Don't disable interrupt in bge_intr(), just acknowledge it.  This avoids
  potential lose of interrupt when interrupt gets re-enabled, since writing
  to BGE_MBX_IRQ0_LO also serves as interrupt acknowledgment.
- Move interrupt acknowledgment before reading status block.  This lets us
  read the correct/complete status block.
- Reset ifnet.if_timer, only if there is nothing pending to be TXed.

Obtained-from: FreeBSD (bde@freebsd.org)
sys/dev/netif/bge/if_bge.c