aboutsummaryrefslogtreecommitdiffstats
path: root/arch/i386/kernel/smpboot.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/i386/kernel/smpboot.c')
-rw-r--r--arch/i386/kernel/smpboot.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c
index 94dce14a1b37..a768eceeac37 100644
--- a/arch/i386/kernel/smpboot.c
+++ b/arch/i386/kernel/smpboot.c
@@ -521,7 +521,8 @@ static inline void __inquire_remote_apic(int apicid)
521{ 521{
522 int i, regs[] = { APIC_ID >> 4, APIC_LVR >> 4, APIC_SPIV >> 4 }; 522 int i, regs[] = { APIC_ID >> 4, APIC_LVR >> 4, APIC_SPIV >> 4 };
523 char *names[] = { "ID", "VERSION", "SPIV" }; 523 char *names[] = { "ID", "VERSION", "SPIV" };
524 int timeout, status; 524 int timeout;
525 unsigned long status;
525 526
526 printk("Inquiring remote APIC #%d...\n", apicid); 527 printk("Inquiring remote APIC #%d...\n", apicid);
527 528
@@ -531,7 +532,9 @@ static inline void __inquire_remote_apic(int apicid)
531 /* 532 /*
532 * Wait for idle. 533 * Wait for idle.
533 */ 534 */
534 apic_wait_icr_idle(); 535 status = safe_apic_wait_icr_idle();
536 if (status)
537 printk("a previous APIC delivery may have failed\n");
535 538
536 apic_write_around(APIC_ICR2, SET_APIC_DEST_FIELD(apicid)); 539 apic_write_around(APIC_ICR2, SET_APIC_DEST_FIELD(apicid));
537 apic_write_around(APIC_ICR, APIC_DM_REMRD | regs[i]); 540 apic_write_around(APIC_ICR, APIC_DM_REMRD | regs[i]);