Skip to content

Commit

Permalink
parisc: Convert the final irq bits
Browse files Browse the repository at this point in the history
1) As promised in the comment, the core does not copy cpumask anymore
   when the arch code returns -EINVAL

2) Get the per cpu information from irq_data

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: linux-parisc@vger.kernel.org
  • Loading branch information
Thomas Gleixner committed Mar 29, 2011
1 parent 1d5f821 commit 337ce68
Showing 1 changed file with 2 additions and 7 deletions.
9 changes: 2 additions & 7 deletions arch/parisc/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -113,13 +113,8 @@ int cpu_check_affinity(struct irq_data *d, const struct cpumask *dest)
int cpu_dest;

/* timer and ipi have to always be received on all CPUs */
if (CHECK_IRQ_PER_CPU(irq_to_desc(d->irq)->status)) {
/* Bad linux design decision. The mask has already
* been set; we must reset it. Will fix - tglx
*/
cpumask_setall(d->affinity);
if (irqd_is_per_cpu(d))
return -EINVAL;
}

/* whatever mask they set, we just allow one CPU */
cpu_dest = first_cpu(*dest);
Expand Down Expand Up @@ -357,7 +352,7 @@ void do_cpu_irq_mask(struct pt_regs *regs)
#ifdef CONFIG_SMP
desc = irq_to_desc(irq);
cpumask_copy(&dest, desc->irq_data.affinity);
if (CHECK_IRQ_PER_CPU(desc->status) &&
if (irqd_is_per_cpu(&desc->irq_data) &&
!cpu_isset(smp_processor_id(), dest)) {
int cpu = first_cpu(dest);

Expand Down

0 comments on commit 337ce68

Please sign in to comment.