diff options
Diffstat (limited to 'kernel/irq')
-rw-r--r-- | kernel/irq/manage.c | 4 | ||||
-rw-r--r-- | kernel/irq/proc.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index acc5d9fe462b..cd790ad0ae57 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c | |||
@@ -281,6 +281,10 @@ int setup_irq(unsigned int irq, struct irqaction *new) | |||
281 | if (new->flags & IRQF_PERCPU) | 281 | if (new->flags & IRQF_PERCPU) |
282 | desc->status |= IRQ_PER_CPU; | 282 | desc->status |= IRQ_PER_CPU; |
283 | #endif | 283 | #endif |
284 | /* Exclude IRQ from balancing */ | ||
285 | if (new->flags & IRQF_NOBALANCING) | ||
286 | desc->status |= IRQ_NO_BALANCING; | ||
287 | |||
284 | if (!shared) { | 288 | if (!shared) { |
285 | irq_chip_set_defaults(desc->chip); | 289 | irq_chip_set_defaults(desc->chip); |
286 | 290 | ||
diff --git a/kernel/irq/proc.c b/kernel/irq/proc.c index 6d3be06e8ce6..bb44bc995d6e 100644 --- a/kernel/irq/proc.c +++ b/kernel/irq/proc.c | |||
@@ -55,7 +55,7 @@ static int irq_affinity_write_proc(struct file *file, const char __user *buffer, | |||
55 | cpumask_t new_value, tmp; | 55 | cpumask_t new_value, tmp; |
56 | 56 | ||
57 | if (!irq_desc[irq].chip->set_affinity || no_irq_affinity || | 57 | if (!irq_desc[irq].chip->set_affinity || no_irq_affinity || |
58 | CHECK_IRQ_PER_CPU(irq_desc[irq].status)) | 58 | irq_balancing_disabled(irq)) |
59 | return -EIO; | 59 | return -EIO; |
60 | 60 | ||
61 | err = cpumask_parse_user(buffer, count, new_value); | 61 | err = cpumask_parse_user(buffer, count, new_value); |