From: Willy Tarreau <w@1wt.eu>
To: David W Studeman <avionicsdv@aim.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Keyboard Jammed error patch 2.4.35-pre4
Date: Tue, 29 Jul 2008 07:15:58 +0200 [thread overview]
Message-ID: <20080729051558.GH29189@1wt.eu> (raw)
In-Reply-To: <g6jqud$t5e$1@ger.gmane.org>
Hello David,
On Sun, Jul 27, 2008 at 11:59:47PM -0700, David W Studeman wrote:
> Hello! The changes that were made on 04-25-2007 as "[PATCH
> 2.4.35-pre4] fix 'pc_keyb: controller jammed (0xA7)' error" have broken
> the ability to compile with no keyboard and no VT support. This mainly
> affects Cobalt machines which do not have dmi present as these use a
> flashrom to boot with and not a typical bios so dmi blacklisting would
> be pointless unless it allowed for no dmi present and then blacklist. I
> had to create a patch against 2.4.34 to restore the ability to compile
> with no keyboard and VT support.
Grrr... I see what's happening. I remember having checked that the
kbd_controller_present macro was really not used before merging the
patch, but obviously I had not looked deep enough. It's defined by
ia64, mips and mips64 in include/asm.
Could you please test the patch below (untested here). It should revert
to pre-2.4.35 behaviour on all architectures cited above. If you confirm
that it works, I'll merge it.
BTW, in the mean time, you can boot with the "nokeyb" option. It will
disable the keyboard. This is what I use on some non-blacklisted systems,
and the option was precisely provided by this patch.
Also, if you don't have any PC keyboard on your machines, you can
build without support for any VT/keyboard. I'm already doing this
on some embedded systems, and it works fine. If your platform still
requires that some keyboard is enabled, you may want to try to enable
CONFIG_DUMMY_KEYB which I've been using in the past.
Regards,
Willy
>From e4827f141dc86c540971082877124b213557ece0 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w@1wt.eu>
Date: Tue, 29 Jul 2008 07:06:00 +0200
Subject: pc_keyb: fix breakage on ia64/mips/mips64
Commit f8db8c9c81afb4b04c146cae0e2a1fd311de1f22 fixed the keyboard
controller jammed issue on keyboard-less PCs, but introduced the
problem for other architectures (ia64/mips/mips64) which already
define their own keyboard probing method.
This patch gives precedence to these archs' probing method and only
defines the setup option if no arch-specific method was defined.
Problem reported by David W Studeman.
Signed-off-by: Willy Tarreau <w@1wt.eu>
---
drivers/char/pc_keyb.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/char/pc_keyb.c b/drivers/char/pc_keyb.c
index d4e1611..b90e659 100644
--- a/drivers/char/pc_keyb.c
+++ b/drivers/char/pc_keyb.c
@@ -61,6 +61,10 @@ unsigned char pckbd_sysrq_xlate[128] =
"\r\000/"; /* 0x60 - 0x6f */
#endif
+/* Warning: do not redefine kbd_controller_present on ia64, mips and mips64 */
+#ifndef kbd_controller_present
+#define kbd_controller_present() keyboard_controller_present
+
int keyboard_controller_present __initdata = 1;
static int __init removable_keyb(char *str)
{
@@ -68,6 +72,7 @@ static int __init removable_keyb(char *str)
return 0;
}
__setup("nokeyb", removable_keyb);
+#endif
static void kbd_write_command_w(int data);
static void kbd_write_output_w(int data);
@@ -77,8 +82,6 @@ static void __aux_write_ack(int val);
static int aux_reconnect = 0;
#endif
-#define kbd_controller_present() keyboard_controller_present
-
static spinlock_t kbd_controller_lock = SPIN_LOCK_UNLOCKED;
static unsigned char handle_kbd_event(void);
@@ -905,7 +908,7 @@ static char * __init initialize_kbd(void)
void __init pckbd_init_hw(void)
{
- if (!keyboard_controller_present) {
+ if (!kbd_controller_present()) {
kbd_exists = 0;
return;
}
--
1.5.3.8
next prev parent reply other threads:[~2008-07-29 5:16 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-28 6:59 Keyboard Jammed error patch 2.4.35-pre4 David W Studeman
2008-07-29 5:15 ` Willy Tarreau [this message]
2008-07-30 7:22 ` David W Studeman
2008-07-30 7:51 ` Willy Tarreau
2008-07-30 10:39 ` David W Studeman
2008-07-30 12:38 ` Willy Tarreau
2008-09-21 13:00 ` David W Studeman
2008-09-21 14:40 ` Willy Tarreau
2008-09-22 3:30 ` David W Studeman
2008-09-22 4:18 ` Willy Tarreau
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080729051558.GH29189@1wt.eu \
--to=w@1wt.eu \
--cc=avionicsdv@aim.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox