Add spltty()/splx() in the watchdog timer routine.

This commit is contained in:
Kazutaka YOKOTA 2000-08-24 08:49:44 +00:00
parent 42749d0d15
commit 01819900ae
2 changed files with 6 additions and 0 deletions

View File

@ -1827,9 +1827,11 @@ psmtimeout(void *arg)
{
struct psm_softc *sc;
int unit;
int s;
unit = (int)arg;
sc = devclass_get_softc(psm_devclass, unit);
s = spltty();
if (sc->watchdog && kbdc_lock(sc->kbdc, TRUE)) {
if (verbose >= 4)
log(LOG_DEBUG, "psm%d: lost interrupt?\n", unit);
@ -1837,6 +1839,7 @@ psmtimeout(void *arg)
kbdc_lock(sc->kbdc, FALSE);
}
sc->watchdog = TRUE;
splx(s);
sc->callout = timeout(psmtimeout, (void *)unit, hz);
}

View File

@ -1827,9 +1827,11 @@ psmtimeout(void *arg)
{
struct psm_softc *sc;
int unit;
int s;
unit = (int)arg;
sc = devclass_get_softc(psm_devclass, unit);
s = spltty();
if (sc->watchdog && kbdc_lock(sc->kbdc, TRUE)) {
if (verbose >= 4)
log(LOG_DEBUG, "psm%d: lost interrupt?\n", unit);
@ -1837,6 +1839,7 @@ psmtimeout(void *arg)
kbdc_lock(sc->kbdc, FALSE);
}
sc->watchdog = TRUE;
splx(s);
sc->callout = timeout(psmtimeout, (void *)unit, hz);
}