svn commit: r190857 - head/sys/dev/kbdmux

Maksim Yevmenkin emax at
Wed Apr 8 13:52:31 PDT 2009

Author: emax
Date: Wed Apr  8 20:52:30 2009
New Revision: 190857

  Undo SVN rev 183283
  Do not use Giant for kbdmux(4) locking. This is wrong and apparently
  causing more problems than it solves. This will re-open the issue
  where interrupt handlers may race with kbdmux(4) in polling mode.
  Typical symptoms include (but not limited to) duplicated and/or
  missing characters when low level console functions (such as gets)
  are used while interrupts are enabled (for example geli password
  prompt, mountroot prompt etc.)
  MFC after:	3 days


Modified: head/sys/dev/kbdmux/kbdmux.c
--- head/sys/dev/kbdmux/kbdmux.c	Wed Apr  8 20:43:19 2009	(r190856)
+++ head/sys/dev/kbdmux/kbdmux.c	Wed Apr  8 20:52:30 2009	(r190857)
@@ -104,10 +104,10 @@ MALLOC_DEFINE(M_KBDMUX, KEYBOARD_NAME, "
-#define KBDMUX_LOCK(s) \
-	mtx_lock(&Giant)
-#define KBDMUX_UNLOCK(s) \
-	mtx_unlock(&Giant)
+#define KBDMUX_LOCK(s)
+#define KBDMUX_UNLOCK(s)
 #define KBDMUX_LOCK_ASSERT(s, w)
 #define KBDMUX_SLEEP(s, f, d, t) \

More information about the svn-src-all mailing list