Ensure only GIE bit is touched in splx_()

This commit is contained in:
Kévin Roussel 2014-06-19 15:03:48 +02:00
parent 07b170595c
commit 892268d74b
2 changed files with 2 additions and 1 deletions

View File

@ -82,7 +82,7 @@ enum lpm_mode lpm_set(enum lpm_mode target)
case LPM_OFF:
/* MCU totally down (LPM4), only RESET or NMI can resume execution */
__bis_status_register(CPUOFF | OSCOFF | SCG0 | SCG1);
/* all blocks off */
/* all blocks off */
break;
default:
printf("ERROR: trying to set an invalid low-power mode!\n");

View File

@ -170,6 +170,7 @@ splhigh_(void)
void
splx_(int sr)
{
sr &= GIE;
/* If GIE was set, restore it. */
asmv("bis %0, r2" : : "r"(sr));
asmv("nop");