X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fasm-cris%2Fsystem.h;h=fea0e8d57cb51883f5d0c31202ef33ed089f863d;hb=0ce3c83a9c22f59937b86c80b478dfbffe54dbab;hp=b869f6161aaa1c73e770fb2f238eecc7894654d9;hpb=20f99dcf417a28089ef6c877ae97f5dec2eab435;p=firefly-linux-kernel-4.4.55.git diff --git a/include/asm-cris/system.h b/include/asm-cris/system.h index b869f6161aaa..fea0e8d57cb5 100644 --- a/include/asm-cris/system.h +++ b/include/asm-cris/system.h @@ -44,8 +44,7 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz /* since Etrax doesn't have any atomic xchg instructions, we need to disable irq's (if enabled) and do it with move.d's */ unsigned long flags,temp; - local_save_flags(flags); /* save flags, including irq enable bit */ - local_irq_disable(); /* shut off irq's */ + local_irq_save(flags); /* save flags, including irq enable bit and shut off irqs */ switch (size) { case 1: *((unsigned char *)&temp) = x;