diff options
Diffstat (limited to 'firmware/drivers/button.c')
-rw-r--r-- | firmware/drivers/button.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/firmware/drivers/button.c b/firmware/drivers/button.c index 66c7e978fb..cbb6d58f7b 100644 --- a/firmware/drivers/button.c +++ b/firmware/drivers/button.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include "adc.h" | 30 | #include "adc.h" |
31 | #include "serial.h" | 31 | #include "serial.h" |
32 | #include "power.h" | 32 | #include "power.h" |
33 | #include "system.h" | ||
33 | 34 | ||
34 | struct event_queue button_queue; | 35 | struct event_queue button_queue; |
35 | 36 | ||
@@ -256,10 +257,10 @@ static int button_flip(int button) | |||
256 | */ | 257 | */ |
257 | void button_set_flip(bool flip) | 258 | void button_set_flip(bool flip) |
258 | { | 259 | { |
259 | if (flip != flipped) /* not the curent setting */ | 260 | if (flip != flipped) /* not the current setting */ |
260 | { | 261 | { |
261 | /* avoid race condition with the button_tick() */ | 262 | /* avoid race condition with the button_tick() */ |
262 | int oldlevel = set_irq_level(15); | 263 | int oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL); |
263 | lastbtn = button_flip(lastbtn); | 264 | lastbtn = button_flip(lastbtn); |
264 | flipped = flip; | 265 | flipped = flip; |
265 | set_irq_level(oldlevel); | 266 | set_irq_level(oldlevel); |