Merge branch 'percpu-cpumask-x86-for-linus-2' of git://git.kernel.org/pub/scm/linux...
[linux-2.6-microblaze.git] / arch / ia64 / kernel / irq_ia64.c
index 927ad02..acc4d19 100644 (file)
@@ -493,16 +493,15 @@ ia64_handle_irq (ia64_vector vector, struct pt_regs *regs)
        saved_tpr = ia64_getreg(_IA64_REG_CR_TPR);
        ia64_srlz_d();
        while (vector != IA64_SPURIOUS_INT_VECTOR) {
-               struct irq_desc *desc = irq_to_desc(vector);
+               int irq = local_vector_to_irq(vector);
+               struct irq_desc *desc = irq_to_desc(irq);
 
                if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) {
                        smp_local_flush_tlb();
-                       kstat_incr_irqs_this_cpu(vector, desc);
-               } else if (unlikely(IS_RESCHEDULE(vector)))
-                       kstat_incr_irqs_this_cpu(vector, desc);
-               else {
-                       int irq = local_vector_to_irq(vector);
-
+                       kstat_incr_irqs_this_cpu(irq, desc);
+               } else if (unlikely(IS_RESCHEDULE(vector))) {
+                       kstat_incr_irqs_this_cpu(irq, desc);
+               } else {
                        ia64_setreg(_IA64_REG_CR_TPR, vector);
                        ia64_srlz_d();
 
@@ -545,24 +544,24 @@ void ia64_process_pending_intr(void)
 
        vector = ia64_get_ivr();
 
-        irq_enter();
-        saved_tpr = ia64_getreg(_IA64_REG_CR_TPR);
-        ia64_srlz_d();
+       irq_enter();
+       saved_tpr = ia64_getreg(_IA64_REG_CR_TPR);
+       ia64_srlz_d();
 
         /*
          * Perform normal interrupt style processing
          */
        while (vector != IA64_SPURIOUS_INT_VECTOR) {
-               struct irq_desc *desc = irq_to_desc(vector);
+               int irq = local_vector_to_irq(vector);
+               struct irq_desc *desc = irq_to_desc(irq);
 
                if (unlikely(IS_LOCAL_TLB_FLUSH(vector))) {
                        smp_local_flush_tlb();
-                       kstat_incr_irqs_this_cpu(vector, desc);
-               } else if (unlikely(IS_RESCHEDULE(vector)))
-                       kstat_incr_irqs_this_cpu(vector, desc);
-               else {
+                       kstat_incr_irqs_this_cpu(irq, desc);
+               } else if (unlikely(IS_RESCHEDULE(vector))) {
+                       kstat_incr_irqs_this_cpu(irq, desc);
+               else {
                        struct pt_regs *old_regs = set_irq_regs(NULL);
-                       int irq = local_vector_to_irq(vector);
 
                        ia64_setreg(_IA64_REG_CR_TPR, vector);
                        ia64_srlz_d();