MIPS: SB1250: Restore dropped irq_mask function
authorThomas Gleixner <tglx@linutronix.de>
Mon, 6 Jun 2011 09:53:01 +0000 (11:53 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 20 Jul 2011 22:12:11 +0000 (23:12 +0100)
Commit d6d5d5c4a (MIPS: Sibyte: Convert to new irq_chip functions)
removed the mask function which breaks irq_shutdown(). Restore it.

Reported-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/2460/
Tested-by: Matt Turner <mattst88@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/sibyte/sb1250/irq.c

index be4460a5f6a89634aeb589513c91059a773af13d..76ee045e2ce41f920b7e197e79c7edfb02ef3981 100644 (file)
@@ -123,6 +123,13 @@ static int sb1250_set_affinity(struct irq_data *d, const struct cpumask *mask,
 }
 #endif
 
+static void disable_sb1250_irq(struct irq_data *d)
+{
+       unsigned int irq = d->irq;
+
+       sb1250_mask_irq(sb1250_irq_owner[irq], irq);
+}
+
 static void enable_sb1250_irq(struct irq_data *d)
 {
        unsigned int irq = d->irq;
@@ -180,6 +187,7 @@ static struct irq_chip sb1250_irq_type = {
        .name = "SB1250-IMR",
        .irq_mask_ack = ack_sb1250_irq,
        .irq_unmask = enable_sb1250_irq,
+       .irq_mask = disable_sb1250_irq,
 #ifdef CONFIG_SMP
        .irq_set_affinity = sb1250_set_affinity
 #endif