diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/drivers/power.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/firmware/drivers/power.c b/firmware/drivers/power.c index 4a45041325..b61090ff26 100644 --- a/firmware/drivers/power.c +++ b/firmware/drivers/power.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <stdbool.h> | 20 | #include <stdbool.h> |
21 | #include "config.h" | 21 | #include "config.h" |
22 | #include "adc.h" | 22 | #include "adc.h" |
23 | #include "kernel.h" | ||
23 | #include "power.h" | 24 | #include "power.h" |
24 | 25 | ||
25 | #ifdef HAVE_CHARGE_CTRL | 26 | #ifdef HAVE_CHARGE_CTRL |
@@ -66,6 +67,7 @@ void ide_power_enable(bool on) | |||
66 | 67 | ||
67 | void power_off(void) | 68 | void power_off(void) |
68 | { | 69 | { |
70 | set_irq_level(15); | ||
69 | #ifdef ARCHOS_RECORDER | 71 | #ifdef ARCHOS_RECORDER |
70 | PBDR &= ~PBDR_BTN_OFF; | 72 | PBDR &= ~PBDR_BTN_OFF; |
71 | PBIOR |= PBDR_BTN_OFF; | 73 | PBIOR |= PBDR_BTN_OFF; |
@@ -73,6 +75,7 @@ void power_off(void) | |||
73 | PADR &= ~0x800; | 75 | PADR &= ~0x800; |
74 | PAIOR |= 0x800; | 76 | PAIOR |= 0x800; |
75 | #endif | 77 | #endif |
78 | while(1); | ||
76 | } | 79 | } |
77 | 80 | ||
78 | #else | 81 | #else |