vt(4): Fix keyboard allocation when kbdmux(4) isn't used

The problem was that only the kbdmux keyboard index was saved in
vd->vd_keyboard. This index is -1 when kbdmux isn't used. In this
case, the keyboard was correctly allocated, but the returned index was
discarded.

PR:		194718
MFC after:	1 week
This commit is contained in:
Jean-Sébastien Pédron 2014-11-02 16:04:48 +00:00
parent 3dca54ab98
commit 9fc2d29ead

View File

@ -866,7 +866,6 @@ vt_allocate_keyboard(struct vt_device *vd)
keyboard_info_t ki;
idx0 = kbd_allocate("kbdmux", -1, vd, vt_kbdevent, vd);
vd->vd_keyboard = idx0;
if (idx0 >= 0) {
DPRINTF(20, "%s: kbdmux allocated, idx = %d\n", __func__, idx0);
k0 = kbd_get_keyboard(idx0);
@ -894,6 +893,7 @@ vt_allocate_keyboard(struct vt_device *vd)
return (-1);
}
}
vd->vd_keyboard = idx0;
DPRINTF(20, "%s: vd_keyboard = %d\n", __func__, vd->vd_keyboard);
return (idx0);