summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/abb
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2012-01-31 17:28:14 +0100
committerHarald Welte <laforge@gnumonks.org>2012-02-07 20:03:02 +0100
commitf201f06e5fe52cb0c7cba271bc9e222b6aea7828 (patch)
tree1084cb1b894867fe24ba0a6ccafca141ca97be52 /src/target/firmware/abb
parentd0985a7ff217f7fe928500ad761af3a45f271b73 (diff)
firmware: Turn off FIQ, when waiting for power button to be released
Diffstat (limited to 'src/target/firmware/abb')
-rw-r--r--src/target/firmware/abb/twl3025.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/target/firmware/abb/twl3025.c b/src/target/firmware/abb/twl3025.c
index 2e06199c..e4fcf4f0 100644
--- a/src/target/firmware/abb/twl3025.c
+++ b/src/target/firmware/abb/twl3025.c
@@ -31,6 +31,7 @@
#include <calypso/tsp.h>
#include <calypso/tpu.h>
#include <abb/twl3025.h>
+#include <asm/system.h>
/* TWL3025 */
#define REG_PAGE(n) (n >> 7)
@@ -186,6 +187,13 @@ static void twl3025_wait_ibic_access(void)
void twl3025_power_off(void)
{
+ unsigned long flags;
+
+ /* turn off all IRQs, since received frames cannot be
+ * handled form here. (otherwise the message allocation
+ * runs out of memory) */
+ local_firq_save(flags);
+
/* poll PWON status and power off the phone when the
* powerbutton has been released (otherwise it will
* poweron immediately again) */