diff options
author | yokota <yokota@FreeBSD.org> | 2000-08-24 08:49:44 +0000 |
---|---|---|
committer | yokota <yokota@FreeBSD.org> | 2000-08-24 08:49:44 +0000 |
commit | 84083e097dd32caf80b017c7007aba2ecfe7f9a6 (patch) | |
tree | cc7e08edf311e7657499ade18988090ff684ae78 /sys/dev/atkbdc/psm.c | |
parent | 9d10ca295e679a3533355d2dab283514990b9a63 (diff) | |
download | FreeBSD-src-84083e097dd32caf80b017c7007aba2ecfe7f9a6.zip FreeBSD-src-84083e097dd32caf80b017c7007aba2ecfe7f9a6.tar.gz |
Add spltty()/splx() in the watchdog timer routine.
Diffstat (limited to 'sys/dev/atkbdc/psm.c')
-rw-r--r-- | sys/dev/atkbdc/psm.c | 3 |
1 files changed, 3 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); } |