From 18afe626efd01806472fa615ee744008a3598412 Mon Sep 17 00:00:00 2001 From: Hirokazu Takata Date: Mon, 28 Nov 2005 13:43:58 -0800 Subject: [PATCH] --- yaml --- r: 14721 b: refs/heads/master c: 91f4ab056d85d23fa6955927fdeb1558673e8cd1 h: refs/heads/master i: 14719: 029f64605acef7c73cfb46e4720171d0165a78af v: v3 --- [refs] | 2 +- trunk/arch/m32r/kernel/sys_m32r.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 30cde88dbfc1..9260a623077f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bce61dd49d6ba7799be2de17c772e4c701558f14 +refs/heads/master: 91f4ab056d85d23fa6955927fdeb1558673e8cd1 diff --git a/trunk/arch/m32r/kernel/sys_m32r.c b/trunk/arch/m32r/kernel/sys_m32r.c index e0500e12c5fb..fe55b28d3725 100644 --- a/trunk/arch/m32r/kernel/sys_m32r.c +++ b/trunk/arch/m32r/kernel/sys_m32r.c @@ -41,7 +41,8 @@ asmlinkage int sys_tas(int *addr) return -EFAULT; local_irq_save(flags); oldval = *addr; - *addr = 1; + if (!oldval) + *addr = 1; local_irq_restore(flags); return oldval; } @@ -59,7 +60,8 @@ asmlinkage int sys_tas(int *addr) _raw_spin_lock(&tas_lock); oldval = *addr; - *addr = 1; + if (!oldval) + *addr = 1; _raw_spin_unlock(&tas_lock); return oldval;