summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederic Bompart <frederic@unknown.openembedded.org>2005-12-02 17:23:12 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-12-02 17:23:12 +0000
commit553b165cc76b1eb462cea1c38de0f2a28094dcd2 (patch)
tree80c960580fe8ea854395431cb614ea301e985022
parent8d43140cc04970e413226e12ed46e84947ac8065 (diff)
opensimpad: apmd signal handling bug finally fixed!
Solution found in handhelds-sa-hh40: http://handhelds.org/cgi-bin/cvsweb.cgi/linux/kernel/arch/arm/mach-sa1100/apm.c
-rw-r--r--packages/linux/opensimpad-2.4.25-vrs2-pxa1-jpm1/simpad-apm.diff6
-rw-r--r--packages/linux/opensimpad-2.4.27-vrs1-pxa1-jpm1/simpad-apm.patch6
-rw-r--r--packages/linux/opensimpad_2.4.25-vrs2-pxa1-jpm1.bb2
-rw-r--r--packages/linux/opensimpad_2.4.27-vrs1-pxa1-jpm1.bb2
4 files changed, 10 insertions, 6 deletions
diff --git a/packages/linux/opensimpad-2.4.25-vrs2-pxa1-jpm1/simpad-apm.diff b/packages/linux/opensimpad-2.4.25-vrs2-pxa1-jpm1/simpad-apm.diff
index dfdbd99237..8b66c04276 100644
--- a/packages/linux/opensimpad-2.4.25-vrs2-pxa1-jpm1/simpad-apm.diff
+++ b/packages/linux/opensimpad-2.4.25-vrs2-pxa1-jpm1/simpad-apm.diff
@@ -445,7 +445,7 @@
static struct file_operations apm_bios_fops = {
owner: THIS_MODULE,
read: do_read,
-@@ -454,6 +484,48 @@
+@@ -454,6 +484,50 @@
#define APM_INIT_ERROR_RETURN return -1
@@ -478,8 +478,10 @@
+ as->writer = 1;
+ as->reader = 0;
+
-+ while (!signal_pending (current)) {
++ for (;;) {
+ interruptible_sleep_on(&apm_suspend_waitqueue);
++ if (signal_pending (current))
++ break;
+
+ pm_suggest_suspend();
+
diff --git a/packages/linux/opensimpad-2.4.27-vrs1-pxa1-jpm1/simpad-apm.patch b/packages/linux/opensimpad-2.4.27-vrs1-pxa1-jpm1/simpad-apm.patch
index 900124e7d4..1446bc2eb7 100644
--- a/packages/linux/opensimpad-2.4.27-vrs1-pxa1-jpm1/simpad-apm.patch
+++ b/packages/linux/opensimpad-2.4.27-vrs1-pxa1-jpm1/simpad-apm.patch
@@ -450,7 +450,7 @@
static struct file_operations apm_bios_fops = {
owner: THIS_MODULE,
read: do_read,
-@@ -454,6 +483,48 @@
+@@ -454,6 +483,50 @@
#define APM_INIT_ERROR_RETURN return -1
@@ -483,8 +483,10 @@
+ as->writer = 1;
+ as->reader = 0;
+
-+ while (!signal_pending (current)) {
++ for (;;) {
+ interruptible_sleep_on(&apm_suspend_waitqueue);
++ if (signal_pending (current))
++ break;
+
+ pm_suggest_suspend();
+
diff --git a/packages/linux/opensimpad_2.4.25-vrs2-pxa1-jpm1.bb b/packages/linux/opensimpad_2.4.25-vrs2-pxa1-jpm1.bb
index 6970dd994b..3f750e1f41 100644
--- a/packages/linux/opensimpad_2.4.25-vrs2-pxa1-jpm1.bb
+++ b/packages/linux/opensimpad_2.4.25-vrs2-pxa1-jpm1.bb
@@ -6,7 +6,7 @@ KV = "${@bb.data.getVar('PV',d,True).split('-')[0]}"
VRSV = "${@bb.data.getVar('PV',d,True).split('-')[1]}"
PXAV = "${@bb.data.getVar('PV',d,True).split('-')[2]}"
JPMV = "${@bb.data.getVar('PV',d,True).split('-')[3]}"
-PR = "r20"
+PR = "r21"
FILESPATH = "${FILE_DIRNAME}/opensimpad-${PV}:${FILE_DIRNAME}/opensimpad:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
diff --git a/packages/linux/opensimpad_2.4.27-vrs1-pxa1-jpm1.bb b/packages/linux/opensimpad_2.4.27-vrs1-pxa1-jpm1.bb
index 95e483a5c8..df46fad53d 100644
--- a/packages/linux/opensimpad_2.4.27-vrs1-pxa1-jpm1.bb
+++ b/packages/linux/opensimpad_2.4.27-vrs1-pxa1-jpm1.bb
@@ -7,7 +7,7 @@ VRSV = "${@bb.data.getVar('PV',d,True).split('-')[1]}"
PXAV = "${@bb.data.getVar('PV',d,True).split('-')[2]}"
JPMV = "${@bb.data.getVar('PV',d,True).split('-')[3]}"
USBV= "usb20040610"
-PR = "r2"
+PR = "r3"
FILESPATH = "${FILE_DIRNAME}/opensimpad-${PV}:${FILE_DIRNAME}/opensimpad:${FILE_DIRNAME}/files:${FILE_DIRNAME}"