- Don't disable interrupt in bge_intr(), just acknowledge it. This avoids
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Thu, 26 Apr 2007 11:58:10 +0000 (11:58 +0000)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Thu, 26 Apr 2007 11:58:10 +0000 (11:58 +0000)
commit142ca760a5a6c9dd8d6780a70893d71cacbcee8f
tree104598e39a91cae03b25261e4a00fd6893cf3617
parentd6ef369ed5b00b3584a894983724fb827ecca993
- 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