aboutsummaryrefslogtreecommitdiffstats
path: root/packages/xorg-xserver/xserver-kdrive-1.4/keyboard-resume-workaround.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/xorg-xserver/xserver-kdrive-1.4/keyboard-resume-workaround.patch')
-rw-r--r--packages/xorg-xserver/xserver-kdrive-1.4/keyboard-resume-workaround.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/keyboard-resume-workaround.patch b/packages/xorg-xserver/xserver-kdrive-1.4/keyboard-resume-workaround.patch
new file mode 100644
index 0000000000..ced1904916
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-1.4/keyboard-resume-workaround.patch
@@ -0,0 +1,18 @@
+Index: xorg-server-1.4/hw/kdrive/linux/keyboard.c
+===================================================================
+--- xorg-server-1.4.orig/hw/kdrive/linux/keyboard.c 2007-09-29 18:31:15.000000000 +0200
++++ xorg-server-1.4/hw/kdrive/linux/keyboard.c 2007-09-29 18:33:02.000000000 +0200
+@@ -743,11 +743,8 @@
+ cfsetispeed(&nTty, 9600);
+ cfsetospeed(&nTty, 9600);
+ tcsetattr(fd, TCSANOW, &nTty);
+- /*
+- * Flush any pending keystrokes
+- */
+- while ((n = read (fd, buf, sizeof (buf))) > 0)
+- ;
++ n = fcntl(fd, F_GETFL);
++ fprintf(stderr, "LinuxConsoleFd status flags: %x (O_NONBLOCK = %x)\n", n, O_NONBLOCK);
+ KdRegisterFd (fd, LinuxKeyboardRead, ki);
+ return Success;
+ }