patch-2.4.15 linux/arch/alpha/lib/dec_and_lock.c

Next file: linux/arch/alpha/lib/io.c
Previous file: linux/arch/alpha/kernel/traps.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.14/linux/arch/alpha/lib/dec_and_lock.c linux/arch/alpha/lib/dec_and_lock.c
@@ -18,15 +18,16 @@
 	subl	$1, 1, $1			\n\
 	beq	$1, 2f				\n\
 	stl_c	$1, 0($16)			\n\
-	beq	$1, 3f				\n\
+	beq	$1, 4f				\n\
 	mb					\n\
 	clr	$0				\n\
 	ret					\n\
-3:	br	1b				\n\
-2:	lda	$27, atomic_dec_and_lock_1	\n\
+2:	br	$29, 3f				\n\
+3:	ldgp	$29, 0($29)			\n\
+	br	$atomic_dec_and_lock_1..ng	\n\
+	.subsection 2				\n\
+4:	br	1b				\n\
 	.end atomic_dec_and_lock");
-
-	/* FALLTHRU */
 
 static int __attribute__((unused))
 atomic_dec_and_lock_1(atomic_t *atomic, spinlock_t *lock)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)