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