]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/frv/kernel/time.c
Merge branches 'topic/fix/hda' and 'topic/fix/misc' into for-linus
[linux-2.6-omap-h63xx.git] / arch / frv / kernel / time.c
index 925fb0199a0f21cc8df27e2cbaf137b67a7a3d47..69f6a4ef5d61b35c67323a85485e1cebedff7a43 100644 (file)
@@ -63,6 +63,7 @@ static irqreturn_t timer_interrupt(int irq, void *dummy)
        /* last time the cmos clock got updated */
        static long last_rtc_update = 0;
 
+       profile_tick(CPU_PROFILING);
        /*
         * Here we are in the timer irq handler. We just have irqs locally
         * disabled but we don't know if the timer_bh is running on the other
@@ -73,8 +74,6 @@ static irqreturn_t timer_interrupt(int irq, void *dummy)
        write_seqlock(&xtime_lock);
 
        do_timer(1);
-       update_process_times(user_mode(get_irq_regs()));
-       profile_tick(CPU_PROFILING);
 
        /*
         * If we have an externally synchronized Linux clock, then update
@@ -99,6 +98,9 @@ static irqreturn_t timer_interrupt(int irq, void *dummy)
 #endif /* CONFIG_HEARTBEAT */
 
        write_sequnlock(&xtime_lock);
+
+       update_process_times(user_mode(get_irq_regs()));
+
        return IRQ_HANDLED;
 }