mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [TRIVIAL] Re: APIC is not properly suspending in 2.5.67 on UP
@ 2003-05-05  4:59 Rusty Trivial Russell
  0 siblings, 0 replies; only message in thread
From: Rusty Trivial Russell @ 2003-05-05  4:59 UTC (permalink / raw)
  To: torvalds, linux-kernel

From:  Pavel Machek <pavel@ucw.cz>

  Hi!
  
  > >This is needed otherwise APIC thinks it is not active, does not
  > >suspend properly, and kills machine.
  > 
  > This can only happen with UP if the machine boots with local
  > APIC enabled and the BIOS announces an MP table.
  > 
  > If this is the case, then yes apic_pm_activate() needs to be done.
  > 
  > > Extra whitespace killed (looks
  > >ugly). Please apply,
  > 
  > I think some fixes are needed first:
  > - You're calling apic_pm_activate() from setup_local_APIC(), which
  >   is before its definition. This will cause a compile warning, and
  >   a linkage error if CONFIG_PM=n.
  
  Fixed (by adding function prototype). Please apply,
  								Pavel
  
  %patch
  Index: linux/arch/i386/kernel/apic.c
  ===================================================================

--- trivial-2.5.69/arch/i386/kernel/apic.c.orig	2003-05-05 14:46:23.000000000 +1000
+++ trivial-2.5.69/arch/i386/kernel/apic.c	2003-05-05 14:46:23.000000000 +1000
@@ -38,6 +38,8 @@
 
 #include "io_ports.h"
 
+static void apic_pm_activate(void);
+
 void __init apic_intr_init(void)
 {
 #ifdef CONFIG_SMP
@@ -451,6 +453,7 @@
 
 	if (nmi_watchdog == NMI_LOCAL_APIC)
 		setup_apic_nmi_watchdog();
+	apic_pm_activate();
 }
 
 #ifdef CONFIG_PM
@@ -587,7 +590,7 @@
 
 #else	/* CONFIG_PM */
 
-static inline void apic_pm_activate(void) { }
+static void apic_pm_activate(void) { }
 
 #endif	/* CONFIG_PM */
 
@@ -654,9 +657,7 @@
 		nmi_watchdog = NMI_LOCAL_APIC;
 
 	printk("Found and enabled local APIC!\n");
-
 	apic_pm_activate();
-
 	return 0;
 
 no_apic:
@@ -1135,11 +1136,8 @@
 	}
 
 	verify_local_APIC();
-
 	connect_bsp_APIC();
-
 	phys_cpu_present_map = 1 << boot_cpu_physical_apicid;
-
 	setup_local_APIC();
 
 	if (nmi_watchdog == NMI_LOCAL_APIC)
@@ -1150,6 +1148,5 @@
 			setup_IO_APIC();
 #endif
 	setup_boot_APIC_clock();
-
 	return 0;
 }
-- 
  What is this? http://www.kernel.org/pub/linux/kernel/people/rusty/trivial/
  Don't blame me: the Monkey is driving
  File: Pavel Machek <pavel@ucw.cz>: Re: APIC is not properly suspending in 2.5.67 on UP

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-05-05  4:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-05  4:59 [TRIVIAL] Re: APIC is not properly suspending in 2.5.67 on UP Rusty Trivial Russell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®