patch-2.1.38 linux/arch/i386/lib/semaphore.S

Next file: linux/arch/i386/mm/fault.c
Previous file: linux/arch/i386/kernel/signal.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.37/linux/arch/i386/lib/semaphore.S linux/arch/i386/lib/semaphore.S
@@ -22,14 +22,13 @@
 	popl %eax	/* restore %eax */
 	ret
 
+/* Don't save/restore %eax, because that will be our return value */
 ENTRY(__down_failed_interruptible)
-	pushl %eax	/* save %eax */
 	pushl %edx	/* save %edx */
 	pushl %ecx	/* save %ecx (and argument) */
 	call SYMBOL_NAME(__down_interruptible)
 	popl %ecx	/* restore %ecx (count on __down_interruptible not changing it) */
 	popl %edx	/* restore %edx */
-	popl %eax	/* restore %eax */
 	ret
 
 ENTRY(__up_wakeup)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov