patch-2.1.18 linux/arch/alpha/kernel/entry.S

Next file: linux/arch/alpha/kernel/ksyms.c
Previous file: linux/arch/alpha/defconfig
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.17/linux/arch/alpha/kernel/entry.S linux/arch/alpha/kernel/entry.S
@@ -648,10 +648,14 @@
 	ldq	$20,72($30)	/* .. and this a3 */
 	subq	$31,$0,$0	/* with error in v0 */
 	addq	$31,1,$1	/* set a3 for errno return */
-	bis	$31,$31,$26	/* tell "ret_from_sys_call" that we can restart */
+	stq	$0,0($30)
+	bis	$31,$31,$26	/* tell "ret_from_sys_call" we can restart */
 	stq	$1,72($30)	/* a3 for return */
+	br	$31,ret_from_sys_call
+
 ret_success:
 	stq	$0,0($30)
+	stq	$31,72($30)	/* a3=0 => no error */
 	br	$31,ret_from_sys_call
 
 .align 3
@@ -777,4 +781,5 @@
 	.quad sys_sched_setparam, sys_sched_getparam, sys_sched_setscheduler, sys_sched_getscheduler, sys_sched_yield
 	.quad sys_sched_get_priority_max, sys_sched_get_priority_min, sys_sched_rr_get_interval, do_entSys /* sys_afs_syscall */, sys_newuname
 	.quad sys_nanosleep, sys_mremap, do_entSys, sys_setresuid, sys_getresuid
-	.quad sys_pciconfig_read, sys_pciconfig_write, do_entSys, do_entSys, do_entSys
+	.quad sys_pciconfig_read, sys_pciconfig_write, sys_query_module
+	.quad do_entSys, do_entSys

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