From owner-cvs-src@FreeBSD.ORG Wed Oct 25 13:35:42 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A595E16A407; Wed, 25 Oct 2006 13:35:42 +0000 (UTC) (envelope-from ru@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7347643D53; Wed, 25 Oct 2006 13:35:42 +0000 (GMT) (envelope-from ru@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k9PDZgRq089462; Wed, 25 Oct 2006 13:35:42 GMT (envelope-from ru@repoman.freebsd.org) Received: (from ru@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k9PDZgFd089461; Wed, 25 Oct 2006 13:35:42 GMT (envelope-from ru) Message-Id: <200610251335.k9PDZgFd089461@repoman.freebsd.org> From: Ruslan Ermilov Date: Wed, 25 Oct 2006 13:35:42 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/dev/atkbdc atkbd.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Oct 2006 13:35:42 -0000 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