summaryrefslogtreecommitdiff
path: root/meta
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@openedhand.com>2007-09-27 09:15:05 +0000
committerSamuel Ortiz <sameo@openedhand.com>2007-09-27 09:15:05 +0000
commit939d45757811335c6a9ccde8d7a769d84b0512f3 (patch)
tree78d81e759e470260c4be1ec07a989129dc40b20e /meta
parent407a73d6c5acd8b9ceb11eb88a8f0032d30326f7 (diff)
downloadopenembedded-core-939d45757811335c6a9ccde8d7a769d84b0512f3.tar.gz
openembedded-core-939d45757811335c6a9ccde8d7a769d84b0512f3.tar.bz2
openembedded-core-939d45757811335c6a9ccde8d7a769d84b0512f3.tar.xz
openembedded-core-939d45757811335c6a9ccde8d7a769d84b0512f3.zip
linux-rp-2.6.22+2.6.23-rc4: Fix vt_ioctl race.
Because of a race between vt_ioctl and the console work queue, psplash was crashing. git-svn-id: https://svn.o-hand.com/repos/poky/trunk@2812 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta')
-rw-r--r--meta/packages/linux/linux-rp-2.6.22+2.6.23-rc4/vt_ioctl_race.patch40
-rw-r--r--meta/packages/linux/linux-rp_2.6.22+2.6.23-rc4.bb7
2 files changed, 45 insertions, 2 deletions
diff --git a/meta/packages/linux/linux-rp-2.6.22+2.6.23-rc4/vt_ioctl_race.patch b/meta/packages/linux/linux-rp-2.6.22+2.6.23-rc4/vt_ioctl_race.patch
new file mode 100644
index 000000000..8f53b55a3
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.22+2.6.23-rc4/vt_ioctl_race.patch
@@ -0,0 +1,40 @@
+---
+ drivers/char/vt_ioctl.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 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:05:29.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();
+ }
+ }
+
+@@ -813,6 +812,7 @@
+ if (arg != VT_ACKACQ)
+ return -EINVAL;
+ }
++ release_console_sem();
+
+ return 0;
+
diff --git a/meta/packages/linux/linux-rp_2.6.22+2.6.23-rc4.bb b/meta/packages/linux/linux-rp_2.6.22+2.6.23-rc4.bb
index 089b458ea..02ef0994a 100644
--- a/meta/packages/linux/linux-rp_2.6.22+2.6.23-rc4.bb
+++ b/meta/packages/linux/linux-rp_2.6.22+2.6.23-rc4.bb
@@ -1,6 +1,6 @@
require linux-rp.inc
-PR = "r4"
+PR = "r5"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_htcuniversal = "1"
@@ -53,6 +53,7 @@ SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.tar.bz2 \
file://uvesafb-0.1-rc3-2.6.22.patch;patch=1;status=external \
file://htcuni.patch;patch=1 \
file://binutils-buildid-arm.patch;patch=1 \
+ file://vt_ioctl_race.patch;patch=1 \
file://defconfig-c7x0 \
file://defconfig-hx2000 \
file://defconfig-collie \
@@ -115,7 +116,9 @@ SRC_URI_append_tosa = "\
file://wm97xx-lcdnoise-r0.patch;patch=1 "
# ${DOSRC}/tosa-asoc-r1.patch;patch=1 "
-SRC_URI_append_htcuniversal ="file://htcuni-acx.patch;patch=1;status=external"
+SRC_URI_append_htcuniversal ="\
+ file://htcuni-acx.patch;patch=1;status=external \
+ "
SRC_URI_append_zylonite ="\
file://arm_pxa_20070923.patch;patch=1 \