Quiet down those "interrupt stuck?" messages.

This commit is contained in:
gwr 1997-10-28 21:10:07 +00:00
parent b2fe7ac8d9
commit 923a3fcbff
1 changed files with 11 additions and 8 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: if_ie.c,v 1.21 1997/07/29 06:43:51 fair Exp $ */
/* $NetBSD: if_ie.c,v 1.22 1997/10/28 21:10:07 gwr Exp $ */
/*-
* Copyright (c) 1993, 1994, 1995 Charles Hannum.
@ -490,14 +490,14 @@ ie_intr(arg)
}
}
status = sc->scb->ie_status & IE_ST_WHENCE;
if (status == 0)
status = sc->scb->ie_status;
if ((status & IE_ST_WHENCE) == 0)
return 0;
loopcnt = 5;
loopcnt = sc->nframes;
loop:
/* Ack interrupts FIRST in case we receive more during the ISR. */
ie_ack(sc, status);
ie_ack(sc, IE_ST_WHENCE & status);
if (status & (IE_ST_RECV | IE_ST_RNR)) {
#ifdef IEDEBUG
@ -542,11 +542,14 @@ loop:
printf("%s: cna\n", sc->sc_dev.dv_xname);
#endif
status = sc->scb->ie_status & IE_ST_WHENCE;
if (status) {
status = sc->scb->ie_status;
if (status & IE_ST_WHENCE) {
/* It still wants service... */
if (--loopcnt > 0)
goto loop;
printf("%s: interrupt stuck?\n", sc->sc_dev.dv_xname);
/* ... but we've been here long enough. */
log(LOG_ERR, "%s: interrupt stuck?\n",
sc->sc_dev.dv_xname);
iereset(sc);
}
return 1;