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.

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;
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to