diff options
| -rw-r--r-- | arch/ia64/kernel/machine_kexec.c | 6 |
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, |
