diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2011-06-17 03:09:47 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2011-06-17 03:09:47 +0000 |
commit | d4800fa3851d2d89c1be03ec99af81f277892579 (patch) | |
tree | 60c2beebe08192b2ba6a9c2db31e4409aa940b4e /firmware/target/coldfire/kernel-coldfire.c | |
parent | 7b605f04168400f3b1b2024600886045f0103c3a (diff) | |
download | rockbox-d4800fa3851d2d89c1be03ec99af81f277892579.tar.gz rockbox-d4800fa3851d2d89c1be03ec99af81f277892579.zip |
Coldfire: Fix the modification of IMR. Interrupts must be masked at the core level at at least the level of the interrupt being masked. Not following the datasheet and relying strictly on and/or_l causes unhandled 'Levelx' exceptions (showing itself quite often in PCM mixer work which more greatly stresses PCM lockout).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30009 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/coldfire/kernel-coldfire.c')
-rw-r--r-- | firmware/target/coldfire/kernel-coldfire.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/firmware/target/coldfire/kernel-coldfire.c b/firmware/target/coldfire/kernel-coldfire.c index 0b08ed13e3..a16f7ad05e 100644 --- a/firmware/target/coldfire/kernel-coldfire.c +++ b/firmware/target/coldfire/kernel-coldfire.c | |||
@@ -51,7 +51,7 @@ void tick_start(unsigned int interval_in_ms) | |||
51 | TER0 = 0xff; /* Clear all events */ | 51 | TER0 = 0xff; /* Clear all events */ |
52 | 52 | ||
53 | ICR1 = 0x8c; /* Interrupt on level 3.0 */ | 53 | ICR1 = 0x8c; /* Interrupt on level 3.0 */ |
54 | IMR &= ~0x200; | 54 | coldfire_imr_mod(0x000, 0x200); |
55 | } | 55 | } |
56 | 56 | ||
57 | void TIMER0(void) __attribute__ ((interrupt_handler)); | 57 | void TIMER0(void) __attribute__ ((interrupt_handler)); |