cvs commit: src/sys/dev/atkbdc atkbd.c

Ruslan Ermilov ru at FreeBSD.org
Wed Oct 25 13:35:42 UTC 2006


ru          2006-10-25 13:35:42 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/atkbdc       atkbd.c 
  Log:
  Fix LEDs not working when atkbd is an active keyboard and the physical
  keyboard is attached only after the system has already booted.
  
  If USB keyboard is also present, and there's no kbdmux(4), the problem
  has been hiding itself because as soon as we get to multi-user, the
  USB keyboard becomes an active keyboard (see devd.conf), thus marking
  atkbd inactive and letting the old code initialize the keyboard.
  
  With kbdmux(4), or if there's no USB keyboard, the atkbd keyboard is
  always active, whether it's physically attached or not, thus it never
  initialized itself properly on a physical attach.
  
  To fix this, move block that initialized the keyboard on attach upper
  so it doesn't depend on the (KBD_IS_ACTIVE(kbd) && KBD_IS_BUSY(kbd))
  condition.  Also move KBD_FOUND_DEVICE() a few lines upper so that
  KDSETLED and KDSETREPEAT that follow it propagate to the controller.
  
  MFC after:      3 days
  
  Revision  Changes    Path
  1.52      +16 -16    src/sys/dev/atkbdc/atkbd.c


More information about the cvs-all mailing list