svn commit: r188603 - head/sys/dev/kbdmux
Maksim Yevmenkin
emax at freebsd.org
Fri Feb 13 16:16:18 PST 2009
On Fri, Feb 13, 2009 at 3:36 PM, Andrew Thompson <thompsa at freebsd.org> wrote:
> Author: thompsa
> Date: Fri Feb 13 23:36:08 2009
> New Revision: 188603
> URL: http://svn.freebsd.org/changeset/base/188603
>
> Log:
> 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.
thanks for taking care of this!
thanks,
max
>
> Modified:
> head/sys/dev/kbdmux/kbdmux.c
>
> Modified: head/sys/dev/kbdmux/kbdmux.c
> ==============================================================================
> --- head/sys/dev/kbdmux/kbdmux.c Fri Feb 13 22:48:05 2009 (r188602)
> +++ head/sys/dev/kbdmux/kbdmux.c Fri Feb 13 23:36:08 2009 (r188603)
> @@ -1346,15 +1346,14 @@ kbdmux_modevent(module_t mod, int type,
> 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;
>
>
More information about the svn-src-all
mailing list