]> git.hungrycats.org Git - linux/commitdiff
[SPARC32]: Use correct atomic initializer for semaphore counters
authorKeith M. Wesolowski <wesolows@foobazco.org>
Thu, 25 Mar 2004 00:11:23 +0000 (16:11 -0800)
committerKeith M. Wesolowski <wesolows@foobazco.org>
Thu, 25 Mar 2004 00:11:23 +0000 (16:11 -0800)
Semaphores use 24-bit atomics, not 32.  Using the wrong initializer
causes immediate deadlock under SMP, and incorrect results under UP.

include/asm-sparc/semaphore.h

index b3b16d121ace9d7cc505a9afecb00a2ee6f6e66b..a30cbcf1ea3e896ce274cc9b27c44772b88addcf 100644 (file)
@@ -26,7 +26,7 @@ struct semaphore {
 #endif
 
 #define __SEMAPHORE_INITIALIZER(name,count) \
-{ ATOMIC_INIT(count), 0, __WAIT_QUEUE_HEAD_INITIALIZER((name).wait) \
+{ ATOMIC24_INIT(count), 0, __WAIT_QUEUE_HEAD_INITIALIZER((name).wait) \
        __SEM_DEBUG_INIT(name) }
 
 #define __MUTEX_INITIALIZER(name) \