diff options
Diffstat (limited to 'lib_avr32/interrupts.c')
| -rw-r--r-- | lib_avr32/interrupts.c | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/lib_avr32/interrupts.c b/lib_avr32/interrupts.c index 28df20db0..bbbc490db 100644 --- a/lib_avr32/interrupts.c +++ b/lib_avr32/interrupts.c @@ -35,5 +35,12 @@ int disable_interrupts(void)  	sr = sysreg_read(SR);  	asm volatile("ssrf	%0" : : "n"(SYSREG_GM_OFFSET)); +#ifdef CONFIG_AT32UC3A0xxx +	/* Two NOPs are required after masking interrupts on the +	 * AT32UC3A0512ES. See errata 41.4.5.5. */ +	asm("nop"); +	asm("nop"); +#endif +  	return !SYSREG_BFEXT(GM, sr);  }  |