at_keyboard: initialize keyboard in module init if keyboard is ready

The change in 0c62a5b2 caused at_keyboard to fail on some
machines. Immediately initializing the keyboard in the module init if
the keyboard is ready makes the problem go away.

Bug-Debian: https://bugs.debian.org/741464
Last-Update: 2019-02-09

Patch-Name: at_keyboard-module-init.patch
This commit is contained in:
Jeroen Dekkers 2019-01-12 21:02:18 +01:00 committed by Colin Watson
parent c543561137
commit e619f11201

View File

@ -244,6 +244,14 @@ grub_at_keyboard_getkey (struct grub_term_input *term __attribute__ ((unused)))
return ret; return ret;
} }
static grub_err_t
grub_keyboard_controller_mod_init (struct grub_term_input *term __attribute__ ((unused))) {
if (KEYBOARD_COMMAND_ISREADY (grub_inb (KEYBOARD_REG_STATUS)))
grub_keyboard_controller_init ();
return GRUB_ERR_NONE;
}
static void static void
grub_keyboard_controller_init (void) grub_keyboard_controller_init (void)
{ {
@ -314,6 +322,7 @@ grub_at_restore_hw (void)
static struct grub_term_input grub_at_keyboard_term = static struct grub_term_input grub_at_keyboard_term =
{ {
.name = "at_keyboard", .name = "at_keyboard",
.init = grub_keyboard_controller_mod_init,
.fini = grub_keyboard_controller_fini, .fini = grub_keyboard_controller_fini,
.getkey = grub_at_keyboard_getkey .getkey = grub_at_keyboard_getkey
}; };