From 4f2fe5d7fabedafe8030e39604751f56171d85f4 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Thu, 15 Jan 2015 12:19:12 +0000
Subject: [PATCH] kernel: fix disable_irq() on MIPS CPU IRQs

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43973
---
 .../130-mips_cpu_irq_disable.patch            | 20 +++++++++++++++++++
 .../130-mips_cpu_irq_disable.patch            | 20 +++++++++++++++++++
 2 files changed, 40 insertions(+)
 create mode 100644 target/linux/generic/patches-3.14/130-mips_cpu_irq_disable.patch
 create mode 100644 target/linux/generic/patches-3.18/130-mips_cpu_irq_disable.patch

diff --git a/target/linux/generic/patches-3.14/130-mips_cpu_irq_disable.patch b/target/linux/generic/patches-3.14/130-mips_cpu_irq_disable.patch
new file mode 100644
index 0000000000..7ebbc99dba
--- /dev/null
+++ b/target/linux/generic/patches-3.14/130-mips_cpu_irq_disable.patch
@@ -0,0 +1,20 @@
+--- a/arch/mips/kernel/irq_cpu.c
++++ b/arch/mips/kernel/irq_cpu.c
+@@ -56,6 +56,8 @@ static struct irq_chip mips_cpu_irq_cont
+ 	.irq_mask_ack	= mask_mips_irq,
+ 	.irq_unmask	= unmask_mips_irq,
+ 	.irq_eoi	= unmask_mips_irq,
++	.irq_disable	= mask_mips_irq,
++	.irq_enable	= unmask_mips_irq,
+ };
+ 
+ /*
+@@ -92,6 +94,8 @@ static struct irq_chip mips_mt_cpu_irq_c
+ 	.irq_mask_ack	= mips_mt_cpu_irq_ack,
+ 	.irq_unmask	= unmask_mips_irq,
+ 	.irq_eoi	= unmask_mips_irq,
++	.irq_disable	= mask_mips_irq,
++	.irq_enable	= unmask_mips_irq,
+ };
+ 
+ void __init mips_cpu_irq_init(void)
diff --git a/target/linux/generic/patches-3.18/130-mips_cpu_irq_disable.patch b/target/linux/generic/patches-3.18/130-mips_cpu_irq_disable.patch
new file mode 100644
index 0000000000..7ebbc99dba
--- /dev/null
+++ b/target/linux/generic/patches-3.18/130-mips_cpu_irq_disable.patch
@@ -0,0 +1,20 @@
+--- a/arch/mips/kernel/irq_cpu.c
++++ b/arch/mips/kernel/irq_cpu.c
+@@ -56,6 +56,8 @@ static struct irq_chip mips_cpu_irq_cont
+ 	.irq_mask_ack	= mask_mips_irq,
+ 	.irq_unmask	= unmask_mips_irq,
+ 	.irq_eoi	= unmask_mips_irq,
++	.irq_disable	= mask_mips_irq,
++	.irq_enable	= unmask_mips_irq,
+ };
+ 
+ /*
+@@ -92,6 +94,8 @@ static struct irq_chip mips_mt_cpu_irq_c
+ 	.irq_mask_ack	= mips_mt_cpu_irq_ack,
+ 	.irq_unmask	= unmask_mips_irq,
+ 	.irq_eoi	= unmask_mips_irq,
++	.irq_disable	= mask_mips_irq,
++	.irq_enable	= unmask_mips_irq,
+ };
+ 
+ void __init mips_cpu_irq_init(void)
-- 
2.30.2