]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge remote-tracking branch 'irqchip/irqchip/for-next'
authorStephen Rothwell <sfr@canb.auug.org.au>
Wed, 21 May 2014 04:28:44 +0000 (14:28 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Wed, 21 May 2014 04:28:44 +0000 (14:28 +1000)
1  2 
drivers/irqchip/irq-gic.c

index 57d165e026f43ac4ba3f0ba0a0f422025ad2b117,f711fb6af7a915cbbd41f65b021b2966346cb803..7e11c9d6ae8c8411610987339dc161f208cf2ad2
@@@ -246,14 -246,10 +246,14 @@@ static int gic_set_affinity(struct irq_
                            bool force)
  {
        void __iomem *reg = gic_dist_base(d) + GIC_DIST_TARGET + (gic_irq(d) & ~3);
 -      unsigned int shift = (gic_irq(d) % 4) * 8;
 -      unsigned int cpu = cpumask_any_and(mask_val, cpu_online_mask);
 +      unsigned int cpu, shift = (gic_irq(d) % 4) * 8;
        u32 val, mask, bit;
  
 +      if (!force)
 +              cpu = cpumask_any_and(mask_val, cpu_online_mask);
 +      else
 +              cpu = cpumask_first(mask_val);
 +
        if (cpu >= NR_GIC_CPU_IF || cpu >= nr_cpu_ids)
                return -EINVAL;
  
@@@ -291,7 -287,7 +291,7 @@@ static void __exception_irq_entry gic_h
  
        do {
                irqstat = readl_relaxed(cpu_base + GIC_CPU_INTACK);
-               irqnr = irqstat & ~0x1c00;
+               irqnr = irqstat & GICC_IAR_INT_ID_MASK;
  
                if (likely(irqnr > 15 && irqnr < 1021)) {
                        irqnr = irq_find_mapping(gic->domain, irqnr);