From: tip-bot for Jacob Pan on
Commit-ID: ae7c9b70dcb4313ea3dbcc9a2f240dae6c2b50c0
Gitweb: http://git.kernel.org/tip/ae7c9b70dcb4313ea3dbcc9a2f240dae6c2b50c0
Author: Jacob Pan <jacob.jun.pan(a)linux.intel.com>
AuthorDate: Mon, 19 Apr 2010 11:23:43 -0700
Committer: H. Peter Anvin <hpa(a)zytor.com>
CommitDate: Tue, 20 Apr 2010 14:38:28 -0700

x86, mrst: Conditionally register cpu hotplug notifier for apbt

APB timer is used on Moorestown platforms but not on a standard PC.
If APB timer code is compiled in but not initialized at run-time due
to lack of FW reported SFI table, kernel would panic when the non-boot
CPUs are offlined and notifier is called.

https://bugzilla.kernel.org/show_bug.cgi?id=15786

This patch ensures CPU hotplug notifier for APB timer is only registered
when the APBT timer block is initialized.

Signed-off-by: Jacob Pan <jacob.jun.pan(a)linux.intel.com>
LKML-Reference: <1271701423-1162-1-git-send-email-jacob.jun.pan(a)linux.intel.com>
Signed-off-by: H. Peter Anvin <hpa(a)zytor.com>
---
arch/x86/kernel/apb_timer.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kernel/apb_timer.c b/arch/x86/kernel/apb_timer.c
index ff469e4..a353475 100644
--- a/arch/x86/kernel/apb_timer.c
+++ b/arch/x86/kernel/apb_timer.c
@@ -429,7 +429,7 @@ static int apbt_cpuhp_notify(struct notifier_block *n,

static __init int apbt_late_init(void)
{
- if (disable_apbt_percpu)
+ if (disable_apbt_percpu || !apb_timer_block_enabled)
return 0;
/* This notifier should be called after workqueue is ready */
hotcpu_notifier(apbt_cpuhp_notify, -20);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/