aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel/machine_kexec.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ia64/kernel/machine_kexec.c')
-rw-r--r--arch/ia64/kernel/machine_kexec.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/arch/ia64/kernel/machine_kexec.c b/arch/ia64/kernel/machine_kexec.c
index 4f0f3b8c1ee2..58e943a5d95c 100644
--- a/arch/ia64/kernel/machine_kexec.c
+++ b/arch/ia64/kernel/machine_kexec.c
@@ -79,7 +79,6 @@ static void ia64_machine_kexec(struct unw_frame_info *info, void *arg)
79 relocate_new_kernel_t rnk; 79 relocate_new_kernel_t rnk;
80 void *pal_addr = efi_get_pal_addr(); 80 void *pal_addr = efi_get_pal_addr();
81 unsigned long code_addr = (unsigned long)page_address(image->control_code_page); 81 unsigned long code_addr = (unsigned long)page_address(image->control_code_page);
82 unsigned long vector;
83 int ii; 82 int ii;
84 83
85 BUG_ON(!image); 84 BUG_ON(!image);
@@ -107,11 +106,8 @@ static void ia64_machine_kexec(struct unw_frame_info *info, void *arg)
107 /* unmask TPR and clear any pending interrupts */ 106 /* unmask TPR and clear any pending interrupts */
108 ia64_setreg(_IA64_REG_CR_TPR, 0); 107 ia64_setreg(_IA64_REG_CR_TPR, 0);
109 ia64_srlz_d(); 108 ia64_srlz_d();
110 vector = ia64_get_ivr(); 109 while (ia64_get_ivr() != IA64_SPURIOUS_INT_VECTOR)
111 while (vector != IA64_SPURIOUS_INT_VECTOR) {
112 ia64_eoi(); 110 ia64_eoi();
113 vector = ia64_get_ivr();
114 }
115 platform_kernel_launch_event(); 111 platform_kernel_launch_event();
116 rnk = (relocate_new_kernel_t)&code_addr; 112 rnk = (relocate_new_kernel_t)&code_addr;
117 (*rnk)(image->head, image->start, ia64_boot_param, 113 (*rnk)(image->head, image->start, ia64_boot_param,