Since r188030 the error value for attach is returned, this means if kbdmux

fails to attach (possibly due to disable hints) then we get called back for
unload. Correctly handle the case where the keyboard isnt found rather than
calling panic.
This commit is contained in:
Andrew Thompson 2009-02-13 23:36:08 +00:00
parent 882284ccd1
commit fd66bfec7f

View File

@ -1346,15 +1346,14 @@ kbdmux_modevent(module_t mod, int type, void *data)
panic("kbd_get_switch(" KEYBOARD_NAME ") == NULL");
kbd = kbd_get_keyboard(kbd_find_keyboard(KEYBOARD_NAME, 0));
if (kbd == NULL)
panic("kbd_get_keyboard(kbd_find_keyboard(" KEYBOARD_NAME ", 0)) == NULL");
(*sw->disable)(kbd);
if (kbd != NULL) {
(*sw->disable)(kbd);
#ifdef KBD_INSTALL_CDEV
kbd_detach(kbd);
kbd_detach(kbd);
#endif
(*sw->term)(kbd);
kbd_delete_driver(&kbdmux_kbd_driver);
(*sw->term)(kbd);
kbd_delete_driver(&kbdmux_kbd_driver);
}
error = 0;
break;