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

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


Author: emax
Date: Wed Apr  8 20:52:30 2009
New Revision: 190857
URL: http://svn.freebsd.org/changeset/base/190857

Log:
  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

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_DESTROY(s)
 
-#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-head mailing list