altos/lpc, altos/stm: ARM requires ISB after switching stack pointers
[fw/altos] / src / lpc / ao_arch_funcs.h
index 9a3219a2e6275e55a6972dcdf5fff53a390b75c5..0891903ea5f00cb2adae5dbf57506fcdcb81a5c5 100644 (file)
@@ -235,6 +235,7 @@ static inline void ao_arch_start_scheduler(void) {
        asm("mrs %0,control" : "=&r" (control));
        control |= (1 << 1);
        asm("msr control,%0" : : "r" (control));
+       asm("isb");
 }
 
 #endif /* _AO_ARCH_FUNCS_H_ */