aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-03-29 23:25:03 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-03-29 23:25:03 -0400
commit9754c5f6cbbd8893a29f139204e87a59eb342ca9 (patch)
tree43601ee92855a8b7272c30073f6037b94523ad06
parentefab03d998da03f67836ffc664b04e0400f85448 (diff)
parentdbfc2f6f95c7e62b9a379d9a34f8427f1d844ee1 (diff)
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Fix arch/ia64/pci/pci.c:571: warning: `return' with a value [IA64] Speed up boot - skip unnecessary clock calibration [IA64] bugfix stack layout upside-down [IA64] Fix possible invalid memory access in ia64_setup_msi_irq()
-rw-r--r--arch/ia64/kernel/msi_ia64.c2
-rw-r--r--arch/ia64/kernel/smpboot.c17
-rw-r--r--arch/ia64/mm/init.c2
-rw-r--r--arch/ia64/pci/pci.c1
4 files changed, 18 insertions, 4 deletions
diff --git a/arch/ia64/kernel/msi_ia64.c b/arch/ia64/kernel/msi_ia64.c
index e7220900ea14..ebbeadfee42d 100644
--- a/arch/ia64/kernel/msi_ia64.c
+++ b/arch/ia64/kernel/msi_ia64.c
@@ -68,7 +68,7 @@ int ia64_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *desc)
68{ 68{
69 struct msi_msg msg; 69 struct msi_msg msg;
70 unsigned long dest_phys_id; 70 unsigned long dest_phys_id;
71 unsigned int irq, vector; 71 int irq, vector;
72 72
73 irq = create_irq(); 73 irq = create_irq();
74 if (irq < 0) 74 if (irq < 0)
diff --git a/arch/ia64/kernel/smpboot.c b/arch/ia64/kernel/smpboot.c
index b21ddecea943..ff7df439da6d 100644
--- a/arch/ia64/kernel/smpboot.c
+++ b/arch/ia64/kernel/smpboot.c
@@ -375,6 +375,7 @@ static void __devinit
375smp_callin (void) 375smp_callin (void)
376{ 376{
377 int cpuid, phys_id, itc_master; 377 int cpuid, phys_id, itc_master;
378 struct cpuinfo_ia64 *last_cpuinfo, *this_cpuinfo;
378 extern void ia64_init_itm(void); 379 extern void ia64_init_itm(void);
379 extern volatile int time_keeper_id; 380 extern volatile int time_keeper_id;
380 381
@@ -424,7 +425,21 @@ smp_callin (void)
424 * Get our bogomips. 425 * Get our bogomips.
425 */ 426 */
426 ia64_init_itm(); 427 ia64_init_itm();
427 calibrate_delay(); 428
429 /*
430 * Delay calibration can be skipped if new processor is identical to the
431 * previous processor.
432 */
433 last_cpuinfo = cpu_data(cpuid - 1);
434 this_cpuinfo = local_cpu_data;
435 if (last_cpuinfo->itc_freq != this_cpuinfo->itc_freq ||
436 last_cpuinfo->proc_freq != this_cpuinfo->proc_freq ||
437 last_cpuinfo->features != this_cpuinfo->features ||
438 last_cpuinfo->revision != this_cpuinfo->revision ||
439 last_cpuinfo->family != this_cpuinfo->family ||
440 last_cpuinfo->archrev != this_cpuinfo->archrev ||
441 last_cpuinfo->model != this_cpuinfo->model)
442 calibrate_delay();
428 local_cpu_data->loops_per_jiffy = loops_per_jiffy; 443 local_cpu_data->loops_per_jiffy = loops_per_jiffy;
429 444
430#ifdef CONFIG_IA32_SUPPORT 445#ifdef CONFIG_IA32_SUPPORT
diff --git a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
index c8da621aab17..4f36987eea72 100644
--- a/arch/ia64/mm/init.c
+++ b/arch/ia64/mm/init.c
@@ -155,7 +155,7 @@ ia64_set_rbs_bot (void)
155 155
156 if (stack_size > MAX_USER_STACK_SIZE) 156 if (stack_size > MAX_USER_STACK_SIZE)
157 stack_size = MAX_USER_STACK_SIZE; 157 stack_size = MAX_USER_STACK_SIZE;
158 current->thread.rbs_bot = STACK_TOP - stack_size; 158 current->thread.rbs_bot = PAGE_ALIGN(current->mm->start_stack - stack_size);
159} 159}
160 160
161/* 161/*
diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c
index f8bcccd6d417..0e83f3b419b5 100644
--- a/arch/ia64/pci/pci.c
+++ b/arch/ia64/pci/pci.c
@@ -568,7 +568,6 @@ pcibios_disable_device (struct pci_dev *dev)
568 BUG_ON(atomic_read(&dev->enable_cnt)); 568 BUG_ON(atomic_read(&dev->enable_cnt));
569 if (!dev->msi_enabled) 569 if (!dev->msi_enabled)
570 acpi_pci_irq_disable(dev); 570 acpi_pci_irq_disable(dev);
571 return 0;
572} 571}
573 572
574void 573void