summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2013-06-21 19:40:59 -0700
committerKeith Packard <keithp@keithp.com>2013-06-22 00:49:59 -0700
commit58eda6f873f5d6e8e219f769bdf67ce4dbc96fd7 (patch)
tree9c603eb0411441d455c3c97b6fe4458a296a669e
parent9081d881bc48bf7fdce617d300ac02c1a5962239 (diff)
altos/lpc: Don't disable all interrupts when disabling one interrupt
The nvic iser and icer registers read value indicates all enabled interrupts, icer writes disable the set interrupts. Re-writing icer with the current value ends up disabling all interrupts, not exactly what we wanted. Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--src/lpc/lpc.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lpc/lpc.h b/src/lpc/lpc.h
index f13ec615..8fb78649 100644
--- a/src/lpc/lpc.h
+++ b/src/lpc/lpc.h
@@ -1014,12 +1014,12 @@ extern struct lpc_nvic lpc_nvic;
static inline void
lpc_nvic_set_enable(int irq) {
- lpc_nvic.iser |= (1 << irq);
+ lpc_nvic.iser = (1 << irq);
}
static inline void
lpc_nvic_clear_enable(int irq) {
- lpc_nvic.icer |= (1 << irq);
+ lpc_nvic.icer = (1 << irq);
}
static inline int