Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
[linux-drm-fsl-dcu.git] / kernel / irq / proc.c
index 9a352667007ce52fe610c7c72cc190772cb126dd..6d3be06e8ce6362d2f2e106452c9c5383ebc6cfc 100644 (file)
@@ -54,7 +54,8 @@ static int irq_affinity_write_proc(struct file *file, const char __user *buffer,
        unsigned int irq = (int)(long)data, full_count = count, err;
        cpumask_t new_value, tmp;
 
-       if (!irq_desc[irq].chip->set_affinity || no_irq_affinity)
+       if (!irq_desc[irq].chip->set_affinity || no_irq_affinity ||
+                               CHECK_IRQ_PER_CPU(irq_desc[irq].status))
                return -EIO;
 
        err = cpumask_parse_user(buffer, count, new_value);
@@ -135,7 +136,6 @@ void register_irq_proc(unsigned int irq)
                entry = create_proc_entry("smp_affinity", 0600, irq_desc[irq].dir);
 
                if (entry) {
-                       entry->nlink = 1;
                        entry->data = (void *)(long)irq;
                        entry->read_proc = irq_affinity_read_proc;
                        entry->write_proc = irq_affinity_write_proc;