Use Giant for kbdmux(4) locking. This is to workaround the problem

where interrupt handlers may race with kbdmux(4) in polling mode.

PR:		kern/127446
Reported by:	Eygene Ryabinkin rea-fbsd at codelabs dot ru
Tested by:	Eygene Ryabinkin rea-fbsd at codelabs dot ru
MFC after:	1 week
This commit is contained in:
emax 2008-09-22 22:08:43 +00:00
parent 095f0c08e0
commit 2e8cb2cac5

View File

@ -104,10 +104,10 @@ MALLOC_DEFINE(M_KBDMUX, KEYBOARD_NAME, "Keyboard multiplexor");
#define KBDMUX_LOCK_DESTROY(s)
#define KBDMUX_LOCK(s)
#define KBDMUX_UNLOCK(s)
#define KBDMUX_LOCK(s) \
mtx_lock(&Giant)
#define KBDMUX_UNLOCK(s) \
mtx_unlock(&Giant)
#define KBDMUX_LOCK_ASSERT(s, w)
#define KBDMUX_SLEEP(s, f, d, t) \