summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/atkbdc/psm.c3
-rw-r--r--sys/isa/psm.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/atkbdc/psm.c b/sys/dev/atkbdc/psm.c
index 5b7e54f..bd4c341 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 5b7e54f..bd4c341 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);
}
OpenPOWER on IntegriCloud