From: Greg Banks Allow stack tracing to work when sampling on timer is forced using the timer=1 boot option. Reported by Akinobu Mita. Signed-off-by: Greg Banks Signed-off-by: Andrew Morton --- 25-akpm/drivers/oprofile/oprof.c | 6 ++---- 25-akpm/drivers/oprofile/timer_int.c | 3 +++ 2 files changed, 5 insertions(+), 4 deletions(-) diff -puN drivers/oprofile/oprof.c~oprofile-timer-backtrace-fix-2 drivers/oprofile/oprof.c --- 25/drivers/oprofile/oprof.c~oprofile-timer-backtrace-fix-2 Thu Dec 9 14:37:07 2004 +++ 25-akpm/drivers/oprofile/oprof.c Thu Dec 9 14:37:07 2004 @@ -155,13 +155,11 @@ static int __init oprofile_init(void) { int err = 0; - /* this is our fallback case */ - oprofile_timer_init(&oprofile_ops); + oprofile_arch_init(&oprofile_ops); if (timer) { printk(KERN_INFO "oprofile: using timer interrupt.\n"); - } else { - oprofile_arch_init(&oprofile_ops); + oprofile_timer_init(&oprofile_ops); } err = oprofilefs_register(); diff -puN drivers/oprofile/timer_int.c~oprofile-timer-backtrace-fix-2 drivers/oprofile/timer_int.c --- 25/drivers/oprofile/timer_int.c~oprofile-timer-backtrace-fix-2 Thu Dec 9 14:37:07 2004 +++ 25-akpm/drivers/oprofile/timer_int.c Thu Dec 9 14:37:07 2004 @@ -37,6 +37,9 @@ static void timer_stop(void) void __init oprofile_timer_init(struct oprofile_operations * ops) { + ops->create_files = NULL; + ops->setup = NULL; + ops->shutdown = NULL; ops->start = timer_start; ops->stop = timer_stop; ops->cpu_type = "timer"; _