diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2006-10-07 14:17:31 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-10-07 10:51:14 -0700 |
commit | 8774cb815f2492a95b90a927f93a2de555753b32 (patch) | |
tree | 40725c7a7b0618811b2f09753a4e4cd88c1db3e2 /arch/alpha/kernel/smp.c | |
parent | 2850bc273776cbb1b510c5828e9e456dffb50a32 (diff) | |
download | linux-8774cb815f2492a95b90a927f93a2de555753b32.tar.bz2 |
[PATCH] minimal alpha pt_regs fixes
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/alpha/kernel/smp.c')
-rw-r--r-- | arch/alpha/kernel/smp.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c index 4dc273e537fd..596780e2c7da 100644 --- a/arch/alpha/kernel/smp.c +++ b/arch/alpha/kernel/smp.c @@ -515,12 +515,15 @@ smp_cpus_done(unsigned int max_cpus) void smp_percpu_timer_interrupt(struct pt_regs *regs) { + struct pt_regs *old_regs; int cpu = smp_processor_id(); unsigned long user = user_mode(regs); struct cpuinfo_alpha *data = &cpu_data[cpu]; + old_regs = set_irq_regs(regs); + /* Record kernel PC. */ - profile_tick(CPU_PROFILING, regs); + profile_tick(CPU_PROFILING); if (!--data->prof_counter) { /* We need to make like a normal interrupt -- otherwise @@ -534,6 +537,7 @@ smp_percpu_timer_interrupt(struct pt_regs *regs) irq_exit(); } + set_irq_regs(old_regs); } int __init |