Hi, Ralf Seems you have accepted this patch but forgot to apply it, could you please apply it, thanks ;) Best Regards, Wu Zhangjin On Fri, 2010-05-07 at 01:03 +0800, Wu Zhangjin wrote: > When exiting from loongson2_exit(), we need to reset the counter > register too, this patch adds a function reset_counters() to do it, by > the way, this function will be shared by Perf. > > Signed-off-by: Wu Zhangjin <wuzhangjin@xxxxxxxxx> > --- > arch/mips/oprofile/op_model_loongson2.c | 8 +++++++- > 1 files changed, 7 insertions(+), 1 deletions(-) > > diff --git a/arch/mips/oprofile/op_model_loongson2.c b/arch/mips/oprofile/op_model_loongson2.c > index fa3bf66..01f91a3 100644 > --- a/arch/mips/oprofile/op_model_loongson2.c > +++ b/arch/mips/oprofile/op_model_loongson2.c > @@ -51,6 +51,12 @@ static char *oprofid = "LoongsonPerf"; > static irqreturn_t loongson2_perfcount_handler(int irq, void *dev_id); > /* Compute all of the registers in preparation for enabling profiling. */ > > +static void reset_counters(void *arg) > +{ > + write_c0_perfctrl(0); > + write_c0_perfcnt(0); > +} > + > static void loongson2_reg_setup(struct op_counter_config *cfg) > { > unsigned int ctrl = 0; > @@ -157,7 +163,7 @@ static int __init loongson2_init(void) > > static void loongson2_exit(void) > { > - write_c0_perfctrl(0); > + reset_counters(NULL); > free_irq(LOONGSON2_PERFCNT_IRQ, oprofid); > } >