diff options
author | Can Erkin Acar <canacar@cvs.openbsd.org> | 2004-08-22 18:16:21 +0000 |
---|---|---|
committer | Can Erkin Acar <canacar@cvs.openbsd.org> | 2004-08-22 18:16:21 +0000 |
commit | 668c515cab6776b101d24eff3d46a7cb56395c7f (patch) | |
tree | c844b0bd213d386561395c5df9fb69264dcc5abe /sys/dev/pci | |
parent | fe1f9cdc98e206d1e47b06d732feb8bcaca21f4e (diff) |
Do check for STATS_OFLOW in interrupt handler. The overflow interrupt is
already disabled and the status update function fails to clear the overflow,
causing high interrupt load. Reported and tested by Arvid Grøtting.
ok deraadt@
Diffstat (limited to 'sys/dev/pci')
-rw-r--r-- | sys/dev/pci/if_ste.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/sys/dev/pci/if_ste.c b/sys/dev/pci/if_ste.c index af7e714fe22..7362180a54b 100644 --- a/sys/dev/pci/if_ste.c +++ b/sys/dev/pci/if_ste.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ste.c,v 1.23 2004/08/09 16:33:55 canacar Exp $ */ +/* $OpenBSD: if_ste.c,v 1.24 2004/08/22 18:16:20 canacar Exp $ */ /* * Copyright (c) 1997, 1998, 1999 * Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved. @@ -586,15 +586,9 @@ int ste_intr(xsc) if (status & STE_ISR_TX_DONE) ste_txeoc(sc); - if (status & STE_ISR_STATS_OFLOW) { - timeout_del(&sc->sc_stats_tmo); - ste_stats_update(sc); - } - if (status & STE_ISR_LINKEVENT) mii_pollstat(&sc->sc_mii); - if (status & STE_ISR_HOSTERR) { ste_reset(sc); ste_init(sc); |