diff options
author | Frederic Bompart <frederic@unknown.openembedded.org> | 2005-12-02 17:23:12 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2005-12-02 17:23:12 +0000 |
commit | 553b165cc76b1eb462cea1c38de0f2a28094dcd2 (patch) | |
tree | 80c960580fe8ea854395431cb614ea301e985022 | |
parent | 8d43140cc04970e413226e12ed46e84947ac8065 (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
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}" |