]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - arch/i386/kernel/time.c
[PATCH] namei.c: unlock missing in error case
[mirror_ubuntu-jammy-kernel.git] / arch / i386 / kernel / time.c
index 07471bba2dc6a7d10b28a09ef0c2ae119444f797..a14d594bfbebb2b9345e45619fb4387154057653 100644 (file)
@@ -302,6 +302,12 @@ irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
        do_timer_interrupt(irq, regs);
 
        write_sequnlock(&xtime_lock);
+
+#ifdef CONFIG_X86_LOCAL_APIC
+       if (using_apic_timer)
+               smp_send_timer_broadcast_ipi(regs);
+#endif
+
        return IRQ_HANDLED;
 }
 
@@ -440,8 +446,8 @@ static int time_init_device(void)
 
 device_initcall(time_init_device);
 
-extern void (*late_time_init)(void);
 #ifdef CONFIG_HPET_TIMER
+extern void (*late_time_init)(void);
 /* Duplicate of time_init() below, with hpet_enable part added */
 static void __init hpet_time_init(void)
 {
@@ -458,11 +464,6 @@ static void __init hpet_time_init(void)
        printk(KERN_INFO "Using %s for high-res timesource\n",cur_timer->name);
 
        time_init_hook();
-
-#ifdef CONFIG_X86_LOCAL_APIC
-       if (enable_local_apic >= 0)
-               APIC_late_time_init();
-#endif
 }
 #endif
 
@@ -487,9 +488,4 @@ void __init time_init(void)
        printk(KERN_INFO "Using %s for high-res timesource\n",cur_timer->name);
 
        time_init_hook();
-
-#ifdef CONFIG_X86_LOCAL_APIC
-       if (enable_local_apic >= 0)
-               late_time_init = APIC_late_time_init;
-#endif
 }