From 418d581ace8d65e236f856904ce627eaa586b84d Mon Sep 17 00:00:00 2001 From: Jacob Pan Date: Thu, 13 Jan 2011 16:06:44 -0800 Subject: [PATCH] --- yaml --- r: 231487 b: refs/heads/master c: 6550904ddbc3c286798a87edf95eeebcc62bc58a h: refs/heads/master i: 231485: d68035de03e2338ffd0feca44ad9be924da67367 231483: 6e71ef8d3f1335a446e650ee9c1161f820969611 231479: 2913db74d089050b1b75f6d44e59b92780010b42 231471: 6f4cf779e35f5276e9ef45c1045063b365cd5968 231455: 4a72378a36855b95442c5432e5d984630f7dd2df 231423: 879069e84d4f0402f543555b3af2162577b55d08 v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/apb_timer.c | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 6a24c6cc36ff..80a5e73547a6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 62627bec8a601c5679bf3d20a2096a1206d61b71 +refs/heads/master: 6550904ddbc3c286798a87edf95eeebcc62bc58a diff --git a/trunk/arch/x86/kernel/apb_timer.c b/trunk/arch/x86/kernel/apb_timer.c index 7c9ab59653e8..51ef31a89be9 100644 --- a/trunk/arch/x86/kernel/apb_timer.c +++ b/trunk/arch/x86/kernel/apb_timer.c @@ -313,14 +313,16 @@ static void apbt_setup_irq(struct apbt_dev *adev) if (adev->irq == 0) return; + irq_modify_status(adev->irq, 0, IRQ_MOVE_PCNTXT); + irq_set_affinity(adev->irq, cpumask_of(adev->cpu)); + /* APB timer irqs are set up as mp_irqs, timer is edge type */ + __set_irq_handler(adev->irq, handle_edge_irq, 0, "edge"); + if (system_state == SYSTEM_BOOTING) { - irq_modify_status(adev->irq, 0, IRQ_MOVE_PCNTXT); - irq_set_affinity(adev->irq, cpumask_of(adev->cpu)); - /* APB timer irqs are set up as mp_irqs, timer is edge type */ - __set_irq_handler(adev->irq, handle_edge_irq, 0, "edge"); if (request_irq(adev->irq, apbt_interrupt_handler, - IRQF_TIMER | IRQF_DISABLED | IRQF_NOBALANCING, - adev->name, adev)) { + IRQF_TIMER | IRQF_DISABLED | + IRQF_NOBALANCING, + adev->name, adev)) { printk(KERN_ERR "Failed request IRQ for APBT%d\n", adev->num); }