diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-29 23:25:03 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-29 23:25:03 -0400 |
commit | 9754c5f6cbbd8893a29f139204e87a59eb342ca9 (patch) | |
tree | 43601ee92855a8b7272c30073f6037b94523ad06 /arch | |
parent | efab03d998da03f67836ffc664b04e0400f85448 (diff) | |
parent | dbfc2f6f95c7e62b9a379d9a34f8427f1d844ee1 (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()
Diffstat (limited to 'arch')
-rw-r--r-- | arch/ia64/kernel/msi_ia64.c | 2 | ||||
-rw-r--r-- | arch/ia64/kernel/smpboot.c | 17 | ||||
-rw-r--r-- | arch/ia64/mm/init.c | 2 | ||||
-rw-r--r-- | arch/ia64/pci/pci.c | 1 |
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 | |||
375 | smp_callin (void) | 375 | smp_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 | ||
574 | void | 573 | void |