diff --git a/target/linux/brcm63xx/patches-3.14/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch b/target/linux/brcm63xx/patches-3.14/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch
index 2fd1568..8219c98 100644
--- a/target/linux/brcm63xx/patches-3.14/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch
+++ b/target/linux/brcm63xx/patches-3.14/320-irqchip-add-support-for-bcm6345-style-periphery-irq-.patch
@@ -94,7 +94,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  obj-$(CONFIG_METAG_PERFCOUNTER_IRQS)	+= irq-metag.o
 --- /dev/null
 +++ b/drivers/irqchip/irq-bcm6345-periph.c
-@@ -0,0 +1,340 @@
+@@ -0,0 +1,341 @@
 +/*
 + * This file is subject to the terms and conditions of the GNU General Public
 + * License.  See the file "COPYING" in the main directory of this archive
@@ -246,6 +246,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 +	irq_hw_number_t hwirq = irqd_to_hwirq(data);
 +	struct intc_data *priv = data->domain->host_data;
 +	unsigned int i, reg, bit;
++	unsigned long flags;
 +	bool enabled;
 +	int cpu;
 +
@@ -265,7 +266,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 +	if (!priv->block[cpu].parent_irq)
 +		return -EINVAL;
 +
-+	raw_spin_lock(&priv->lock);
++	raw_spin_lock_irqsave(&priv->lock, flags);
 +	enabled = !irqd_irq_masked(data);
 +	for (i = 0; i < MAX_PARENT_IRQS; i++) {
 +		struct intc_block *block = &priv->block[i];
@@ -281,7 +282,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 +			__bcm6345_periph_enable(block, reg, bit, false);
 +		}
 +	}
-+	raw_spin_unlock(&priv->lock);
++	raw_spin_unlock_irqrestore(&priv->lock, flags);
 +
 +	return 0;
 +}
@@ -454,33 +455,3 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 +			      int num_words);
 +
 +#endif /* __INCLUDE_LINUX_IRQCHIP_IRQ_BCM6345_PERIPH_H */
-diff --git a/drivers/irqchip/irq-bcm6345-periph.c b/drivers/irqchip/irq-bcm6345-periph.c
-index dfab88e..b280164 100644
---- a/drivers/irqchip/irq-bcm6345-periph.c
-+++ b/drivers/irqchip/irq-bcm6345-periph.c
-@@ -149,6 +149,7 @@ static int bcm6345_periph_set_affinity(struct irq_data *data,
- 	irq_hw_number_t hwirq = irqd_to_hwirq(data);
- 	struct intc_data *priv = data->domain->host_data;
- 	unsigned int i, reg, bit;
-+	unsigned long flags;
- 	bool enabled;
- 	int cpu;
- 
-@@ -168,7 +169,7 @@ static int bcm6345_periph_set_affinity(struct irq_data *data,
- 	if (!priv->block[cpu].parent_irq)
- 		return -EINVAL;
- 
--	raw_spin_lock(&priv->lock);
-+	raw_spin_lock_irqsave(&priv->lock, flags);
- 	enabled = !irqd_irq_masked(data);
- 	for (i = 0; i < MAX_PARENT_IRQS; i++) {
- 		struct intc_block *block = &priv->block[i];
-@@ -184,7 +185,7 @@ static int bcm6345_periph_set_affinity(struct irq_data *data,
- 			__bcm6345_periph_enable(block, reg, bit, false);
- 		}
- 	}
--	raw_spin_unlock(&priv->lock);
-+	raw_spin_unlock_irqrestore(&priv->lock, flags);
- 
- 	return 0;
- }
diff --git a/target/linux/brcm63xx/patches-3.14/413-BCM63XX-allow-providing-fixup-data-in-board-data.patch b/target/linux/brcm63xx/patches-3.14/413-BCM63XX-allow-providing-fixup-data-in-board-data.patch
index bcb92a1..21f3ebe 100644
--- a/target/linux/brcm63xx/patches-3.14/413-BCM63XX-allow-providing-fixup-data-in-board-data.patch
+++ b/target/linux/brcm63xx/patches-3.14/413-BCM63XX-allow-providing-fixup-data-in-board-data.patch
@@ -26,7 +26,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data
  
  #if CONFIG_OF
  	if (of_have_populated_dt()) {
-@@ -293,6 +295,10 @@ int __init board_register_devices(void)
+@@ -297,6 +299,10 @@ int __init board_register_devices(void)
  		platform_device_register(&bcm63xx_gpio_keys_device);
  	}
  
diff --git a/target/linux/brcm63xx/patches-3.14/418-MIPS-BCM63XX-pass-caldata-info-to-flash.patch b/target/linux/brcm63xx/patches-3.14/418-MIPS-BCM63XX-pass-caldata-info-to-flash.patch
index fdcfa19..d12814d 100644
--- a/target/linux/brcm63xx/patches-3.14/418-MIPS-BCM63XX-pass-caldata-info-to-flash.patch
+++ b/target/linux/brcm63xx/patches-3.14/418-MIPS-BCM63XX-pass-caldata-info-to-flash.patch
@@ -11,7 +11,7 @@ Subject: [PATCH 69/80] MIPS: BCM63XX: pass caldata info to flash
 
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -267,7 +267,7 @@ int __init board_register_devices(void)
+@@ -271,7 +271,7 @@ int __init board_register_devices(void)
  	if (board.num_spis)
  		spi_register_board_info(board.spis, board.num_spis);
  
diff --git a/target/linux/brcm63xx/patches-3.14/420-BCM63XX-add-endian-check-for-ath9k.patch b/target/linux/brcm63xx/patches-3.14/420-BCM63XX-add-endian-check-for-ath9k.patch
index 0e01be1..9e425b7 100644
--- a/target/linux/brcm63xx/patches-3.14/420-BCM63XX-add-endian-check-for-ath9k.patch
+++ b/target/linux/brcm63xx/patches-3.14/420-BCM63XX-add-endian-check-for-ath9k.patch
@@ -39,7 +39,7 @@
  		return;
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -297,7 +297,8 @@ int __init board_register_devices(void)
+@@ -301,7 +301,8 @@ int __init board_register_devices(void)
  
  	/* register any fixups */
  	for (i = 0; i < board.has_caldata; i++)
diff --git a/target/linux/brcm63xx/patches-3.14/421-BCM63XX-add-led-pin-for-ath9k.patch b/target/linux/brcm63xx/patches-3.14/421-BCM63XX-add-led-pin-for-ath9k.patch
index 27ea83f..bf166f7 100644
--- a/target/linux/brcm63xx/patches-3.14/421-BCM63XX-add-led-pin-for-ath9k.patch
+++ b/target/linux/brcm63xx/patches-3.14/421-BCM63XX-add-led-pin-for-ath9k.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -298,7 +298,7 @@ int __init board_register_devices(void)
+@@ -302,7 +302,7 @@ int __init board_register_devices(void)
  	/* register any fixups */
  	for (i = 0; i < board.has_caldata; i++)
  		pci_enable_ath9k_fixup(board.caldata[i].slot, board.caldata[i].caldata_offset,
diff --git a/target/linux/brcm63xx/patches-3.14/422-BCM63XX-add-a-fixup-for-rt2x00-devices.patch b/target/linux/brcm63xx/patches-3.14/422-BCM63XX-add-a-fixup-for-rt2x00-devices.patch
index c07bd32..bfd7705 100644
--- a/target/linux/brcm63xx/patches-3.14/422-BCM63XX-add-a-fixup-for-rt2x00-devices.patch
+++ b/target/linux/brcm63xx/patches-3.14/422-BCM63XX-add-a-fixup-for-rt2x00-devices.patch
@@ -36,7 +36,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices
  
  #include "board_common.h"
  
-@@ -296,9 +297,19 @@ int __init board_register_devices(void)
+@@ -300,9 +301,19 @@ int __init board_register_devices(void)
  	}
  
  	/* register any fixups */
diff --git a/target/linux/brcm63xx/patches-3.18/413-BCM63XX-allow-providing-fixup-data-in-board-data.patch b/target/linux/brcm63xx/patches-3.18/413-BCM63XX-allow-providing-fixup-data-in-board-data.patch
index bcb92a1..21f3ebe 100644
--- a/target/linux/brcm63xx/patches-3.18/413-BCM63XX-allow-providing-fixup-data-in-board-data.patch
+++ b/target/linux/brcm63xx/patches-3.18/413-BCM63XX-allow-providing-fixup-data-in-board-data.patch
@@ -26,7 +26,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data
  
  #if CONFIG_OF
  	if (of_have_populated_dt()) {
-@@ -293,6 +295,10 @@ int __init board_register_devices(void)
+@@ -297,6 +299,10 @@ int __init board_register_devices(void)
  		platform_device_register(&bcm63xx_gpio_keys_device);
  	}
  
diff --git a/target/linux/brcm63xx/patches-3.18/418-MIPS-BCM63XX-pass-caldata-info-to-flash.patch b/target/linux/brcm63xx/patches-3.18/418-MIPS-BCM63XX-pass-caldata-info-to-flash.patch
index fdcfa19..d12814d 100644
--- a/target/linux/brcm63xx/patches-3.18/418-MIPS-BCM63XX-pass-caldata-info-to-flash.patch
+++ b/target/linux/brcm63xx/patches-3.18/418-MIPS-BCM63XX-pass-caldata-info-to-flash.patch
@@ -11,7 +11,7 @@ Subject: [PATCH 69/80] MIPS: BCM63XX: pass caldata info to flash
 
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -267,7 +267,7 @@ int __init board_register_devices(void)
+@@ -271,7 +271,7 @@ int __init board_register_devices(void)
  	if (board.num_spis)
  		spi_register_board_info(board.spis, board.num_spis);
  
diff --git a/target/linux/brcm63xx/patches-3.18/420-BCM63XX-add-endian-check-for-ath9k.patch b/target/linux/brcm63xx/patches-3.18/420-BCM63XX-add-endian-check-for-ath9k.patch
index 0e01be1..9e425b7 100644
--- a/target/linux/brcm63xx/patches-3.18/420-BCM63XX-add-endian-check-for-ath9k.patch
+++ b/target/linux/brcm63xx/patches-3.18/420-BCM63XX-add-endian-check-for-ath9k.patch
@@ -39,7 +39,7 @@
  		return;
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -297,7 +297,8 @@ int __init board_register_devices(void)
+@@ -301,7 +301,8 @@ int __init board_register_devices(void)
  
  	/* register any fixups */
  	for (i = 0; i < board.has_caldata; i++)
diff --git a/target/linux/brcm63xx/patches-3.18/421-BCM63XX-add-led-pin-for-ath9k.patch b/target/linux/brcm63xx/patches-3.18/421-BCM63XX-add-led-pin-for-ath9k.patch
index 27ea83f..bf166f7 100644
--- a/target/linux/brcm63xx/patches-3.18/421-BCM63XX-add-led-pin-for-ath9k.patch
+++ b/target/linux/brcm63xx/patches-3.18/421-BCM63XX-add-led-pin-for-ath9k.patch
@@ -1,6 +1,6 @@
 --- a/arch/mips/bcm63xx/boards/board_common.c
 +++ b/arch/mips/bcm63xx/boards/board_common.c
-@@ -298,7 +298,7 @@ int __init board_register_devices(void)
+@@ -302,7 +302,7 @@ int __init board_register_devices(void)
  	/* register any fixups */
  	for (i = 0; i < board.has_caldata; i++)
  		pci_enable_ath9k_fixup(board.caldata[i].slot, board.caldata[i].caldata_offset,
diff --git a/target/linux/brcm63xx/patches-3.18/422-BCM63XX-add-a-fixup-for-rt2x00-devices.patch b/target/linux/brcm63xx/patches-3.18/422-BCM63XX-add-a-fixup-for-rt2x00-devices.patch
index c07bd32..bfd7705 100644
--- a/target/linux/brcm63xx/patches-3.18/422-BCM63XX-add-a-fixup-for-rt2x00-devices.patch
+++ b/target/linux/brcm63xx/patches-3.18/422-BCM63XX-add-a-fixup-for-rt2x00-devices.patch
@@ -36,7 +36,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices
  
  #include "board_common.h"
  
-@@ -296,9 +297,19 @@ int __init board_register_devices(void)
+@@ -300,9 +301,19 @@ int __init board_register_devices(void)
  	}
  
  	/* register any fixups */
