diff options
Diffstat (limited to 'kernel/irq/proc.c')
-rw-r--r-- | kernel/irq/proc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/irq/proc.c b/kernel/irq/proc.c index f26e534c6585..d03b5eef8ce0 100644 --- a/kernel/irq/proc.c +++ b/kernel/irq/proc.c | |||
@@ -10,6 +10,8 @@ | |||
10 | #include <linux/proc_fs.h> | 10 | #include <linux/proc_fs.h> |
11 | #include <linux/interrupt.h> | 11 | #include <linux/interrupt.h> |
12 | 12 | ||
13 | #include "internals.h" | ||
14 | |||
13 | static struct proc_dir_entry *root_irq_dir, *irq_dir[NR_IRQS]; | 15 | static struct proc_dir_entry *root_irq_dir, *irq_dir[NR_IRQS]; |
14 | 16 | ||
15 | #ifdef CONFIG_SMP | 17 | #ifdef CONFIG_SMP |
@@ -68,7 +70,9 @@ static int irq_affinity_write_proc(struct file *file, const char __user *buffer, | |||
68 | */ | 70 | */ |
69 | cpus_and(tmp, new_value, cpu_online_map); | 71 | cpus_and(tmp, new_value, cpu_online_map); |
70 | if (cpus_empty(tmp)) | 72 | if (cpus_empty(tmp)) |
71 | return -EINVAL; | 73 | /* Special case for empty set - allow the architecture |
74 | code to set default SMP affinity. */ | ||
75 | return select_smp_affinity(irq) ? -EINVAL : full_count; | ||
72 | 76 | ||
73 | proc_set_irq_affinity(irq, new_value); | 77 | proc_set_irq_affinity(irq, new_value); |
74 | 78 | ||