svn commit: r190857 - head/sys/dev/kbdmux
emax at freebsd.org
Tue Apr 14 12:02:21 PDT 2009
On Tue, Apr 14, 2009 at 9:00 AM, Fabian Keil
<freebsd-listen at fabiankeil.de> wrote:
> Maksim Yevmenkin <emax at freebsd.org> wrote:
>> On Sun, Apr 12, 2009 at 8:03 AM, Fabian Keil
>> <freebsd-listen at fabiankeil.de> wrote:
>> > Maksim Yevmenkin <emax at FreeBSD.org> wrote:
>> >> 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
>> > Not even enabling the "visible characters" option helps
>> > because obviously backspace is broken too.
>> if you do not need kbdmix(4) you might just want to disable it on your
>> system. i think it should help with your particular problem.
> Removing kbdmux from the kernel does indeed work around the problem.
>> > Before theses locks were introduces I worked around the problem
>> > with this gets() hack (which forced me to reduce the key entropy):
>> > http://www.fabiankeil.de/sourcecode/freebsd/gets-no-duplicates.diff
>> > and now I will simply revert your commit locally, but I assume I'm
>> > not the only geli user who prefers to be able to boot the system
>> > without local patches.
>> if your primary keyboard is atkbd(4), you might want to try the
>> following patch. it is completely untested (i did not even compile
>> it), so be warned ...
> It compiles alright but once the system is running the keyboard
> no longer works at all. I tested the patch with kbdmux already
> disabled, but I assume it doesn't make a difference.
hmmm, interesting, i do not see this. atkbd(4) is working just fine
with and without kbdmux(4) for me in sinlge user, ddb and multiuser.
> Anyway, I don't need kbdmux, so having to remove it is no problem.
> Thanks a lot.
More information about the freebsd-current