summaryrefslogtreecommitdiff
path: root/meta/packages/linux/linux-rp-2.6.23/vt_ioctl_race.patch
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <hrw@openedhand.com>2007-10-11 15:45:13 +0000
committerMarcin Juszkiewicz <hrw@openedhand.com>2007-10-11 15:45:13 +0000
commit7ddb194822b5b84e7396ae983974c5ec9ca1f132 (patch)
tree6a3a558d7ac34eeb8b093715fb07ba46db42b216 /meta/packages/linux/linux-rp-2.6.23/vt_ioctl_race.patch
parent5a409e5b5327bacb4508d2c4b118985b6cbcc199 (diff)
downloadopenembedded-core-7ddb194822b5b84e7396ae983974c5ec9ca1f132.tar.gz
openembedded-core-7ddb194822b5b84e7396ae983974c5ec9ca1f132.tar.bz2
openembedded-core-7ddb194822b5b84e7396ae983974c5ec9ca1f132.tar.xz
openembedded-core-7ddb194822b5b84e7396ae983974c5ec9ca1f132.zip
linux-rp: update 2.6.23-rc4 to 2.6.23 (non-default as c7x0, akita, zylonite, hx2000 breaks)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2861 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/linux/linux-rp-2.6.23/vt_ioctl_race.patch')
-rw-r--r--meta/packages/linux/linux-rp-2.6.23/vt_ioctl_race.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/meta/packages/linux/linux-rp-2.6.23/vt_ioctl_race.patch b/meta/packages/linux/linux-rp-2.6.23/vt_ioctl_race.patch
new file mode 100644
index 000000000..5a51d1c3f
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.23/vt_ioctl_race.patch
@@ -0,0 +1,46 @@
+---
+ drivers/char/vt_ioctl.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+Index: linux-2.6.22/drivers/char/vt_ioctl.c
+===================================================================
+--- linux-2.6.22.orig/drivers/char/vt_ioctl.c 2007-07-09 01:32:17.000000000 +0200
++++ linux-2.6.22/drivers/char/vt_ioctl.c 2007-09-27 11:58:42.000000000 +0200
+@@ -770,6 +770,7 @@
+ /*
+ * Switching-from response
+ */
++ acquire_console_sem();
+ if (vc->vt_newvt >= 0) {
+ if (arg == 0)
+ /*
+@@ -784,7 +785,6 @@
+ * complete the switch.
+ */
+ int newvt;
+- acquire_console_sem();
+ newvt = vc->vt_newvt;
+ vc->vt_newvt = -1;
+ i = vc_allocate(newvt);
+@@ -798,7 +798,6 @@
+ * other console switches..
+ */
+ complete_change_console(vc_cons[newvt].d);
+- release_console_sem();
+ }
+ }
+
+@@ -810,9 +809,12 @@
+ /*
+ * If it's just an ACK, ignore it
+ */
+- if (arg != VT_ACKACQ)
++ if (arg != VT_ACKACQ) {
++ release_console_sem();
+ return -EINVAL;
++ }
+ }
++ release_console_sem();
+
+ return 0;
+