diff options
author | Keith Packard <keithp@keithp.com> | 2013-06-21 19:40:59 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2013-06-22 00:49:59 -0700 |
commit | 58eda6f873f5d6e8e219f769bdf67ce4dbc96fd7 (patch) | |
tree | 9c603eb0411441d455c3c97b6fe4458a296a669e | |
parent | 9081d881bc48bf7fdce617d300ac02c1a5962239 (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.h | 4 |
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 |