Update of /cvsroot/linux-vax/kernel-2.4/include/asm-vax
In directory usw-pr-cvs1:/tmp/cvs-serv22639
Modified Files:
atomic.h
Log Message:
atomic_add_negative() was so broken that semaphores didn't have a chance
of working. Fixed now...
Index: atomic.h
===================================================================
RCS file: /cvsroot/linux-vax/kernel-2.4/include/asm-vax/atomic.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- atomic.h 2001/01/29 00:44:21 1.2
+++ atomic.h 2001/02/21 00:23:06 1.3
@@ -100,11 +100,11 @@
int retval = 0;
__asm__ __volatile__(
" addl2 %2,%1 \n"
- " blss 1f \n"
- " incl %0 \n"
+ " bgeq 1f \n" /* >= 0, return FALSE */
+ " incl %0 \n" /* < 0, return TRUE */
"1: \n"
- : "=g" (retval)
- : "m" (*v), "g" (i));
+ : "+g" (retval), "+m" (*v)
+ : "g" (i) );
return retval;
}
|