From ceb8839afe17566bdf6733a7ee22298e029fb69e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 30 Jan 2008 13:30:19 +0100 Subject: [PATCH] --- yaml --- r: 79759 b: refs/heads/master c: 87ebecf14ca4f669cb52be46c954f3d9201394b8 h: refs/heads/master i: 79757: dc43465255a750888b9152c8b423bf2000eeee4f 79755: db17e43cea122e5aa1149dfd43e91dbf84015f4e 79751: 17c8cf36c728cb84f1ca3607e3a06305c2c78754 79743: 5262ed0d5efe45e71f1ab0b00e1476fe62345e1f v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/apic_64.c | 20 -------------------- trunk/arch/x86/kernel/irq_64.c | 20 ++++++++++++++++++++ 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/[refs] b/[refs] index 056f8a356617..b2897eb0735f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3e35a0e525253837fc0ea4d0e060de3302bd9537 +refs/heads/master: 87ebecf14ca4f669cb52be46c954f3d9201394b8 diff --git a/trunk/arch/x86/kernel/apic_64.c b/trunk/arch/x86/kernel/apic_64.c index e0191cdd6f7a..032bf1e765df 100644 --- a/trunk/arch/x86/kernel/apic_64.c +++ b/trunk/arch/x86/kernel/apic_64.c @@ -169,26 +169,6 @@ int lapic_get_maxlvt(void) return maxlvt; } -/* - * 'what should we do if we get a hw irq event on an illegal vector'. - * each architecture has to answer this themselves. - */ -void ack_bad_irq(unsigned int irq) -{ - printk("unexpected IRQ trap at vector %02x\n", irq); - /* - * Currently unexpected vectors happen only on SMP and APIC. - * We _must_ ack these because every local APIC has only N - * irq slots per priority level, and a 'hanging, unacked' IRQ - * holds up an irq slot - in excessive cases (when multiple - * unexpected vectors occur) that might lock up the APIC - * completely. - * But don't ack when the APIC is disabled. -AK - */ - if (!disable_apic) - ack_APIC_irq(); -} - void clear_local_APIC(void) { int maxlvt; diff --git a/trunk/arch/x86/kernel/irq_64.c b/trunk/arch/x86/kernel/irq_64.c index 6b5c730d67b9..6c3a3b6e5cf4 100644 --- a/trunk/arch/x86/kernel/irq_64.c +++ b/trunk/arch/x86/kernel/irq_64.c @@ -20,6 +20,26 @@ atomic_t irq_err_count; +/* + * 'what should we do if we get a hw irq event on an illegal vector'. + * each architecture has to answer this themselves. + */ +void ack_bad_irq(unsigned int irq) +{ + printk(KERN_WARNING "unexpected IRQ trap at vector %02x\n", irq); + /* + * Currently unexpected vectors happen only on SMP and APIC. + * We _must_ ack these because every local APIC has only N + * irq slots per priority level, and a 'hanging, unacked' IRQ + * holds up an irq slot - in excessive cases (when multiple + * unexpected vectors occur) that might lock up the APIC + * completely. + * But don't ack when the APIC is disabled. -AK + */ + if (!disable_apic) + ack_APIC_irq(); +} + #ifdef CONFIG_DEBUG_STACKOVERFLOW /* * Probabilistic stack overflow check: