summaryrefslogtreecommitdiffstats
path: root/meta/packages/linux
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/packages/linux
parent407a73d6c5acd8b9ceb11eb88a8f0032d30326f7 (diff)
downloadpoky-939d45757811335c6a9ccde8d7a769d84b0512f3.tar.gz
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/packages/linux')
-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 0000000000..8f53b55a30
--- /dev/null
+++ b/meta/packages/linux/linux-rp-2.6.22+2.6.23-rc4/vt_ioctl_race.patch
@@ -0,0 +1,40 @@
1---
2 drivers/char/vt_ioctl.c | 4 ++--
3 1 file changed, 2 insertions(+), 2 deletions(-)
4
5Index: linux-2.6.22/drivers/char/vt_ioctl.c
6===================================================================
7--- linux-2.6.22.orig/drivers/char/vt_ioctl.c 2007-07-09 01:32:17.000000000 +0200
8+++ linux-2.6.22/drivers/char/vt_ioctl.c 2007-09-27 11:05:29.000000000 +0200
9@@ -770,6 +770,7 @@
10 /*
11 * Switching-from response
12 */
13+ acquire_console_sem();
14 if (vc->vt_newvt >= 0) {
15 if (arg == 0)
16 /*
17@@ -784,7 +785,6 @@
18 * complete the switch.
19 */
20 int newvt;
21- acquire_console_sem();
22 newvt = vc->vt_newvt;
23 vc->vt_newvt = -1;
24 i = vc_allocate(newvt);
25@@ -798,7 +798,6 @@
26 * other console switches..
27 */
28 complete_change_console(vc_cons[newvt].d);
29- release_console_sem();
30 }
31 }
32
33@@ -813,6 +812,7 @@
34 if (arg != VT_ACKACQ)
35 return -EINVAL;
36 }
37+ release_console_sem();
38
39 return 0;
40
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 089b458ea4..02ef0994a8 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 @@
1require linux-rp.inc 1require linux-rp.inc
2 2
3PR = "r4" 3PR = "r5"
4 4
5DEFAULT_PREFERENCE = "-1" 5DEFAULT_PREFERENCE = "-1"
6DEFAULT_PREFERENCE_htcuniversal = "1" 6DEFAULT_PREFERENCE_htcuniversal = "1"
@@ -53,6 +53,7 @@ SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.tar.bz2 \
53 file://uvesafb-0.1-rc3-2.6.22.patch;patch=1;status=external \ 53 file://uvesafb-0.1-rc3-2.6.22.patch;patch=1;status=external \
54 file://htcuni.patch;patch=1 \ 54 file://htcuni.patch;patch=1 \
55 file://binutils-buildid-arm.patch;patch=1 \ 55 file://binutils-buildid-arm.patch;patch=1 \
56 file://vt_ioctl_race.patch;patch=1 \
56 file://defconfig-c7x0 \ 57 file://defconfig-c7x0 \
57 file://defconfig-hx2000 \ 58 file://defconfig-hx2000 \
58 file://defconfig-collie \ 59 file://defconfig-collie \
@@ -115,7 +116,9 @@ SRC_URI_append_tosa = "\
115 file://wm97xx-lcdnoise-r0.patch;patch=1 " 116 file://wm97xx-lcdnoise-r0.patch;patch=1 "
116# ${DOSRC}/tosa-asoc-r1.patch;patch=1 " 117# ${DOSRC}/tosa-asoc-r1.patch;patch=1 "
117 118
118SRC_URI_append_htcuniversal ="file://htcuni-acx.patch;patch=1;status=external" 119SRC_URI_append_htcuniversal ="\
120 file://htcuni-acx.patch;patch=1;status=external \
121 "
119 122
120SRC_URI_append_zylonite ="\ 123SRC_URI_append_zylonite ="\
121 file://arm_pxa_20070923.patch;patch=1 \ 124 file://arm_pxa_20070923.patch;patch=1 \