From 01819900aefc52613b698c1b1ce1233be04ff254 Mon Sep 17 00:00:00 2001 From: Kazutaka YOKOTA Date: Thu, 24 Aug 2000 08:49:44 +0000 Subject: [PATCH] Add spltty()/splx() in the watchdog timer routine. --- sys/dev/atkbdc/psm.c | 3 +++ sys/isa/psm.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/sys/dev/atkbdc/psm.c b/sys/dev/atkbdc/psm.c index 5b7e54f54a24..bd4c341b4765 100644 --- a/sys/dev/atkbdc/psm.c +++ b/sys/dev/atkbdc/psm.c @@ -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); } diff --git a/sys/isa/psm.c b/sys/isa/psm.c index 5b7e54f54a24..bd4c341b4765 100644 --- a/sys/isa/psm.c +++ b/sys/isa/psm.c @@ -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); }