From b5469b38cd68342db0a4c476aec9ad7a0c164027 Mon Sep 17 00:00:00 2001
From: Stijn Segers <foss@volatilesystems.org>
Date: Wed, 28 Feb 2018 22:53:37 +0100
Subject: [PATCH] kernel: bump 4.14 to 4.14.23

This patch bumps the 4.14 kernel to .23.
- Refreshed patches.
- Deleted bcm53xx/patches-4.14/089-PCI-iproc-Fix-NULL-pointer-dereference-for-BCMA.patch. Has been accepted upstream.
- Deleted generic/pending-4.14/821-usb-Remove-annoying-warning-about-bogus-URB.patch. The upstream URB code was changed,
  the patch no longer applies. I discussed this with the patch author and removed it for now, we'll see how it goes.

Compile-tested on: ramips/mt7621, x86/64
Run-tested on: ramips/mt7621, x86/64

Signed-off-by: Stijn Segers <foss@volatilesystems.org>
---
 include/kernel-version.mk                     |  4 +-
 ...ix-NULL-pointer-dereference-for-BCMA.patch | 80 -------------------
 ...tcp-allow-drivers-to-tweak-TSQ-logic.patch |  8 +-
 ...tfilter-exit_net-cleanup-check-added.patch |  4 +-
 .../generic/hack-4.14/721-phy_packets.patch   |  8 +-
 .../hack-4.14/901-debloat_sock_diag.patch     |  2 +-
 .../generic/hack-4.14/902-debloat_proc.patch  |  4 +-
 ...e_mem_map-with-ARCH_PFN_OFFSET-calcu.patch |  2 +-
 ...ting-ubi0-rootfs-in-init-do_mounts.c.patch |  4 +-
 .../pending-4.14/655-increase_skb_pad.patch   |  2 +-
 ...T-skip-GRO-for-foreign-MAC-addresses.patch |  2 +-
 ...ove-annoying-warning-about-bogus-URB.patch | 76 ------------------
 .../pending-4.14/920-mangle_bootargs.patch    |  4 +-
 .../mediatek/patches-4.14/0064-dts.patch      |  6 +-
 ...eeprom-ethtool-access-into-netdev-co.patch |  4 +-
 ...fp-use-netdev-sfp_bus-for-start-stop.patch |  2 +-
 .../411-sfp-add-sfp-compatible.patch          |  2 +-
 ...013-owrt-hack-fix-mt7688-cache-issue.patch |  4 +-
 18 files changed, 31 insertions(+), 187 deletions(-)
 delete mode 100644 target/linux/bcm53xx/patches-4.14/089-PCI-iproc-Fix-NULL-pointer-dereference-for-BCMA.patch
 delete mode 100644 target/linux/generic/pending-4.14/821-usb-Remove-annoying-warning-about-bogus-URB.patch

diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 293100ecf8..4e23f0de1d 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -5,12 +5,12 @@ LINUX_RELEASE?=1
 LINUX_VERSION-3.18 = .71
 LINUX_VERSION-4.4 = .112
 LINUX_VERSION-4.9 = .82
-LINUX_VERSION-4.14 = .20
+LINUX_VERSION-4.14 = .23
 
 LINUX_KERNEL_HASH-3.18.71 = 5abc9778ad44ce02ed6c8ab52ece8a21c6d20d21f6ed8a19287b4a38a50c1240
 LINUX_KERNEL_HASH-4.4.112 = 544b42cbeed022896115c76a18fc97b4507d5b41d7ac0ce1dce9afd6ffd11ecd
 LINUX_KERNEL_HASH-4.9.82 = 4b710b2701daafeb8e4db4c06f0ed3e62a6d20d6213a4927769c89ae42a9b180
-LINUX_KERNEL_HASH-4.14.20 = 4ab7f42aa6af9c1e3b00cba6b1fa305a87407666aaa2fae555f7fbdaafb6d292
+LINUX_KERNEL_HASH-4.14.23 = 9a97b5555a2baaed9aa7711524ae3b9179579efb902d76a814a916aefe5712ca
 
 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
diff --git a/target/linux/bcm53xx/patches-4.14/089-PCI-iproc-Fix-NULL-pointer-dereference-for-BCMA.patch b/target/linux/bcm53xx/patches-4.14/089-PCI-iproc-Fix-NULL-pointer-dereference-for-BCMA.patch
deleted file mode 100644
index 2cdefc26ff..0000000000
--- a/target/linux/bcm53xx/patches-4.14/089-PCI-iproc-Fix-NULL-pointer-dereference-for-BCMA.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 3b65ca50d24ce33cb92d88840e289135c92b40ed Mon Sep 17 00:00:00 2001
-From: Ray Jui <ray.jui@broadcom.com>
-Date: Thu, 11 Jan 2018 12:36:16 -0800
-Subject: [PATCH] PCI: iproc: Fix NULL pointer dereference for BCMA
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-With the inbound DMA mapping supported added, the iProc PCIe driver
-parses DT property "dma-ranges" through call to
-"of_pci_dma_range_parser_init()". In the case of BCMA, this results in a
-NULL pointer deference due to a missing of_node.
-
-Fix this by adding a guard in pcie-iproc-platform.c to only enable the
-inbound DMA mapping logic when DT property "dma-ranges" is present.
-
-Fixes: dd9d4e7498de3 ("PCI: iproc: Add inbound DMA mapping support")
-Reported-by: Rafał Miłecki <rafal@milecki.pl>
-Signed-off-by: Ray Jui <ray.jui@broadcom.com>
-[lorenzo.pieralisi@arm.com: updated commit log]
-Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
-Tested-by: Rafał Miłecki <rafal@milecki.pl>
-cc: <stable@vger.kernel.org> # 4.10+
----
- drivers/pci/host/pcie-iproc-platform.c | 7 +++++++
- drivers/pci/host/pcie-iproc.c          | 8 +++++---
- drivers/pci/host/pcie-iproc.h          | 2 ++
- 3 files changed, 14 insertions(+), 3 deletions(-)
-
---- a/drivers/pci/host/pcie-iproc-platform.c
-+++ b/drivers/pci/host/pcie-iproc-platform.c
-@@ -92,6 +92,13 @@ static int iproc_pcie_pltfm_probe(struct
- 		pcie->need_ob_cfg = true;
- 	}
- 
-+	/*
-+	 * DT nodes are not used by all platforms that use the iProc PCIe
-+	 * core driver. For platforms that require explict inbound mapping
-+	 * configuration, "dma-ranges" would have been present in DT
-+	 */
-+	pcie->need_ib_cfg = of_property_read_bool(np, "dma-ranges");
-+
- 	/* PHY use is optional */
- 	pcie->phy = devm_phy_get(dev, "pcie-phy");
- 	if (IS_ERR(pcie->phy)) {
---- a/drivers/pci/host/pcie-iproc.c
-+++ b/drivers/pci/host/pcie-iproc.c
-@@ -1396,9 +1396,11 @@ int iproc_pcie_setup(struct iproc_pcie *
- 		}
- 	}
- 
--	ret = iproc_pcie_map_dma_ranges(pcie);
--	if (ret && ret != -ENOENT)
--		goto err_power_off_phy;
-+	if (pcie->need_ib_cfg) {
-+		ret = iproc_pcie_map_dma_ranges(pcie);
-+		if (ret && ret != -ENOENT)
-+			goto err_power_off_phy;
-+	}
- 
- #ifdef CONFIG_ARM
- 	pcie->sysdata.private_data = pcie;
---- a/drivers/pci/host/pcie-iproc.h
-+++ b/drivers/pci/host/pcie-iproc.h
-@@ -74,6 +74,7 @@ struct iproc_msi;
-  * @ob: outbound mapping related parameters
-  * @ob_map: outbound mapping related parameters specific to the controller
-  *
-+ * @need_ib_cfg: indicates SW needs to configure the inbound mapping window
-  * @ib: inbound mapping related parameters
-  * @ib_map: outbound mapping region related parameters
-  *
-@@ -101,6 +102,7 @@ struct iproc_pcie {
- 	struct iproc_pcie_ob ob;
- 	const struct iproc_pcie_ob_map *ob_map;
- 
-+	bool need_ib_cfg;
- 	struct iproc_pcie_ib ib;
- 	const struct iproc_pcie_ib_map *ib_map;
- 
diff --git a/target/linux/generic/backport-4.14/025-tcp-allow-drivers-to-tweak-TSQ-logic.patch b/target/linux/generic/backport-4.14/025-tcp-allow-drivers-to-tweak-TSQ-logic.patch
index 6c80eaa4be..03c0b53655 100644
--- a/target/linux/generic/backport-4.14/025-tcp-allow-drivers-to-tweak-TSQ-logic.patch
+++ b/target/linux/generic/backport-4.14/025-tcp-allow-drivers-to-tweak-TSQ-logic.patch
@@ -44,9 +44,9 @@ Cc: Kir Kolyshkin <kir@openvz.org>
    *	@sk_lingertime: %SO_LINGER l_linger setting
    *	@sk_backlog: always used with the per-socket spinlock held
    *	@sk_callback_lock: used with the callbacks in the end of this struct
-@@ -448,6 +449,8 @@ struct sock {
- 	kmemcheck_bitfield_end(flags);
- 
+@@ -445,6 +446,8 @@ struct sock {
+ 				sk_type      : 16;
+ #define SK_PROTOCOL_MAX U8_MAX
  	u16			sk_gso_max_segs;
 +#define sk_pacing_shift sk_pacing_shift /* for backport checks */
 +	u8			sk_pacing_shift;
@@ -55,7 +55,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
  	rwlock_t		sk_callback_lock;
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -2741,6 +2741,7 @@ void sock_init_data(struct socket *sock,
+@@ -2739,6 +2739,7 @@ void sock_init_data(struct socket *sock,
  
  	sk->sk_max_pacing_rate = ~0U;
  	sk->sk_pacing_rate = ~0U;
diff --git a/target/linux/generic/backport-4.14/336-netfilter-exit_net-cleanup-check-added.patch b/target/linux/generic/backport-4.14/336-netfilter-exit_net-cleanup-check-added.patch
index 5bfa5aa833..45dfec1f00 100644
--- a/target/linux/generic/backport-4.14/336-netfilter-exit_net-cleanup-check-added.patch
+++ b/target/linux/generic/backport-4.14/336-netfilter-exit_net-cleanup-check-added.patch
@@ -11,7 +11,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
 
 --- a/net/ipv4/netfilter/ipt_CLUSTERIP.c
 +++ b/net/ipv4/netfilter/ipt_CLUSTERIP.c
-@@ -819,6 +819,7 @@ static void clusterip_net_exit(struct ne
+@@ -829,6 +829,7 @@ static void clusterip_net_exit(struct ne
  	cn->procdir = NULL;
  #endif
  	nf_unregister_net_hook(net, &cip_arp_ops);
@@ -80,7 +80,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  static void nfnl_queue_net_exit_batch(struct list_head *net_exit_list)
 --- a/net/netfilter/x_tables.c
 +++ b/net/netfilter/x_tables.c
-@@ -1714,8 +1714,17 @@ static int __net_init xt_net_init(struct
+@@ -1719,8 +1719,17 @@ static int __net_init xt_net_init(struct
  	return 0;
  }
  
diff --git a/target/linux/generic/hack-4.14/721-phy_packets.patch b/target/linux/generic/hack-4.14/721-phy_packets.patch
index 07e6e9da6d..e3af0a07a3 100644
--- a/target/linux/generic/hack-4.14/721-phy_packets.patch
+++ b/target/linux/generic/hack-4.14/721-phy_packets.patch
@@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
   */
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -2494,6 +2494,10 @@ static inline int pskb_trim(struct sk_bu
+@@ -2491,6 +2491,10 @@ static inline int pskb_trim(struct sk_bu
  	return (len < skb->len) ? __pskb_trim(skb, len) : 0;
  }
  
@@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  /**
   *	pskb_trim_unique - remove end from a paged unique (not cloned) buffer
   *	@skb: buffer to alter
-@@ -2624,16 +2628,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -2621,16 +2625,6 @@ static inline struct sk_buff *dev_alloc_
  }
  
  
@@ -128,7 +128,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  }
 --- a/net/core/skbuff.c
 +++ b/net/core/skbuff.c
-@@ -64,6 +64,7 @@
+@@ -63,6 +63,7 @@
  #include <linux/errqueue.h>
  #include <linux/prefetch.h>
  #include <linux/if_vlan.h>
@@ -136,7 +136,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  #include <net/protocol.h>
  #include <net/dst.h>
-@@ -503,6 +504,22 @@ skb_fail:
+@@ -499,6 +500,22 @@ skb_fail:
  }
  EXPORT_SYMBOL(__napi_alloc_skb);
  
diff --git a/target/linux/generic/hack-4.14/901-debloat_sock_diag.patch b/target/linux/generic/hack-4.14/901-debloat_sock_diag.patch
index d854865d60..29071d63c9 100644
--- a/target/linux/generic/hack-4.14/901-debloat_sock_diag.patch
+++ b/target/linux/generic/hack-4.14/901-debloat_sock_diag.patch
@@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  struct dst_entry *__sk_dst_check(struct sock *sk, u32 cookie)
  {
  	struct dst_entry *dst = __sk_dst_get(sk);
-@@ -1597,9 +1609,11 @@ void sk_destruct(struct sock *sk)
+@@ -1595,9 +1607,11 @@ void sk_destruct(struct sock *sk)
  
  static void __sk_free(struct sock *sk)
  {
diff --git a/target/linux/generic/hack-4.14/902-debloat_proc.patch b/target/linux/generic/hack-4.14/902-debloat_proc.patch
index c23a8fb616..9e33a76c6d 100644
--- a/target/linux/generic/hack-4.14/902-debloat_proc.patch
+++ b/target/linux/generic/hack-4.14/902-debloat_proc.patch
@@ -232,7 +232,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  		return -ENOMEM;
 --- a/mm/vmalloc.c
 +++ b/mm/vmalloc.c
-@@ -2765,6 +2765,8 @@ static const struct file_operations proc
+@@ -2769,6 +2769,8 @@ static const struct file_operations proc
  
  static int __init proc_vmalloc_init(void)
  {
@@ -327,7 +327,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/net/core/sock.c
 +++ b/net/core/sock.c
-@@ -3380,6 +3380,8 @@ static __net_initdata struct pernet_oper
+@@ -3378,6 +3378,8 @@ static __net_initdata struct pernet_oper
  
  static int __init proto_init(void)
  {
diff --git a/target/linux/generic/pending-4.14/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch b/target/linux/generic/pending-4.14/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
index fbf9981384..43a1483c56 100644
--- a/target/linux/generic/pending-4.14/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
+++ b/target/linux/generic/pending-4.14/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
@@ -71,7 +71,7 @@ Signed-off-by: Tobias Wolf <dev-NTEO@vplace.de>
 
 --- a/mm/page_alloc.c
 +++ b/mm/page_alloc.c
-@@ -6170,7 +6170,7 @@ static void __ref alloc_node_mem_map(str
+@@ -6156,7 +6156,7 @@ static void __ref alloc_node_mem_map(str
  		mem_map = NODE_DATA(0)->node_mem_map;
  #if defined(CONFIG_HAVE_MEMBLOCK_NODE_MAP) || defined(CONFIG_FLATMEM)
  		if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
diff --git a/target/linux/generic/pending-4.14/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch b/target/linux/generic/pending-4.14/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
index 69a35c25e7..3c82a064eb 100644
--- a/target/linux/generic/pending-4.14/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
+++ b/target/linux/generic/pending-4.14/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
@@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 
 --- a/init/do_mounts.c
 +++ b/init/do_mounts.c
-@@ -438,7 +438,28 @@ retry:
+@@ -437,7 +437,28 @@ retry:
  out:
  	put_page(page);
  }
@@ -38,7 +38,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  #ifdef CONFIG_ROOT_NFS
  
  #define NFSROOT_TIMEOUT_MIN	5
-@@ -532,6 +553,10 @@ void __init mount_root(void)
+@@ -531,6 +552,10 @@ void __init mount_root(void)
  			change_floppy("root floppy");
  	}
  #endif
diff --git a/target/linux/generic/pending-4.14/655-increase_skb_pad.patch b/target/linux/generic/pending-4.14/655-increase_skb_pad.patch
index 515c69f810..88069581a1 100644
--- a/target/linux/generic/pending-4.14/655-increase_skb_pad.patch
+++ b/target/linux/generic/pending-4.14/655-increase_skb_pad.patch
@@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -2458,7 +2458,7 @@ static inline int pskb_network_may_pull(
+@@ -2455,7 +2455,7 @@ static inline int pskb_network_may_pull(
   * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
   */
  #ifndef NET_SKB_PAD
diff --git a/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index fe2d0524fc..34bd452500 100644
--- a/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
+++ b/target/linux/generic/pending-4.14/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
@@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  #endif
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -780,6 +780,7 @@ struct sk_buff {
+@@ -777,6 +777,7 @@ struct sk_buff {
  	__u8			tc_redirected:1;
  	__u8			tc_from_ingress:1;
  #endif
diff --git a/target/linux/generic/pending-4.14/821-usb-Remove-annoying-warning-about-bogus-URB.patch b/target/linux/generic/pending-4.14/821-usb-Remove-annoying-warning-about-bogus-URB.patch
deleted file mode 100644
index c14e679590..0000000000
--- a/target/linux/generic/pending-4.14/821-usb-Remove-annoying-warning-about-bogus-URB.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From: Alexey Brodkin <abrodkin@synopsys.com>
-Subject: usb: Remove annoying warning about bogus URB
-
-When ath9k-htc Wi-Fi dongle is used with generic OHCI controller
-infinite stream of warnings appears in debug console like this:
--------------------------->8----------------------
-usb 1-1: new full-speed USB device number 2 using ohci-platform
-usb 1-1: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested
-usb 1-1: ath9k_htc: Transferred FW: ath9k_htc/htc_9271-1.4.0.fw, size:
-51008
-------------[ cut here ]------------
-WARNING: CPU: 0 PID: 19 at drivers/usb/core/urb.c:449
-usb_submit_urb+0x1b4/0x498()
-usb 1-1: BOGUS urb xfer, pipe 1 != type 3
-Modules linked in:
-CPU: 0 PID: 19 Comm: kworker/0:1 Not tainted
-4.4.0-rc4-00017-g00e2d79-dirty #3
-Workqueue: events request_firmware_work_func
-
-Stack Trace:
-  arc_unwind_core.constprop.1+0xa4/0x110
----[ end trace 649ef8c342817fc2 ]---
-------------[ cut here ]------------
-WARNING: CPU: 0 PID: 19 at drivers/usb/core/urb.c:449
-usb_submit_urb+0x1b4/0x498()
-usb 1-1: BOGUS urb xfer, pipe 1 != type 3
-Modules linked in:
-CPU: 0 PID: 19 Comm: kworker/0:1 Tainted: G        W
-4.4.0-rc4-00017-g00e2d79-dirty #3
-Workqueue: events request_firmware_work_func
-
-Stack Trace:
-  arc_unwind_core.constprop.1+0xa4/0x110
----[ end trace 649ef8c342817fc3 ]---
-------------[ cut here ]------------
--------------------------->8----------------------
-
-There're some discussions in mailing lists proposing to disable
-that particular check alltogether and magically all seem to work
-fine with muted warning.
-
-Anyways new thread on that regard could be found here:
-http://lists.infradead.org/pipermail/linux-snps-arc/2016-July/001310.html
-
-Let's see what comes out of that new discussion, hopefully patching
-of generic USB stuff won't be required then.
-
-Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
----
- drivers/usb/core/urb.c | 5 -----
- 1 file changed, 5 deletions(-)
-
---- a/drivers/usb/core/urb.c
-+++ b/drivers/usb/core/urb.c
-@@ -326,9 +326,6 @@ EXPORT_SYMBOL_GPL(usb_unanchor_urb);
-  */
- int usb_submit_urb(struct urb *urb, gfp_t mem_flags)
- {
--	static int			pipetypes[4] = {
--		PIPE_CONTROL, PIPE_ISOCHRONOUS, PIPE_BULK, PIPE_INTERRUPT
--	};
- 	int				xfertype, max;
- 	struct usb_device		*dev;
- 	struct usb_host_endpoint	*ep;
-@@ -443,11 +440,6 @@ int usb_submit_urb(struct urb *urb, gfp_
- 	 * cause problems in HCDs if they get it wrong.
- 	 */
- 
--	/* Check that the pipe's type matches the endpoint's type */
--	if (usb_pipetype(urb->pipe) != pipetypes[xfertype])
--		dev_WARN(&dev->dev, "BOGUS urb xfer, pipe %x != type %x\n",
--			usb_pipetype(urb->pipe), pipetypes[xfertype]);
--
- 	/* Check against a simple/standard policy */
- 	allowed = (URB_NO_TRANSFER_DMA_MAP | URB_NO_INTERRUPT | URB_DIR_MASK |
- 			URB_FREE_BUFFER);
diff --git a/target/linux/generic/pending-4.14/920-mangle_bootargs.patch b/target/linux/generic/pending-4.14/920-mangle_bootargs.patch
index b178a24a5c..adeb9f12f9 100644
--- a/target/linux/generic/pending-4.14/920-mangle_bootargs.patch
+++ b/target/linux/generic/pending-4.14/920-mangle_bootargs.patch
@@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
  	help
 --- a/init/main.c
 +++ b/init/main.c
-@@ -360,6 +360,29 @@ static inline void setup_nr_cpu_ids(void
+@@ -359,6 +359,29 @@ static inline void setup_nr_cpu_ids(void
  static inline void smp_prepare_cpus(unsigned int maxcpus) { }
  #endif
  
@@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
  /*
   * We need to store the untouched command line for future reference.
   * We also need to store the touched command line since the parameter
-@@ -541,6 +564,7 @@ asmlinkage __visible void __init start_k
+@@ -540,6 +563,7 @@ asmlinkage __visible void __init start_k
  	add_device_randomness(command_line, strlen(command_line));
  	boot_init_stack_canary();
  	mm_init_cpumask(&init_mm);
diff --git a/target/linux/mediatek/patches-4.14/0064-dts.patch b/target/linux/mediatek/patches-4.14/0064-dts.patch
index 9f069e7809..47fc2b1b23 100644
--- a/target/linux/mediatek/patches-4.14/0064-dts.patch
+++ b/target/linux/mediatek/patches-4.14/0064-dts.patch
@@ -579,11 +579,11 @@
 +
 --- a/arch/arm/boot/dts/mt7623.dtsi
 +++ b/arch/arm/boot/dts/mt7623.dtsi
-@@ -753,6 +753,7 @@
+@@ -322,6 +322,7 @@
  			     "syscon";
- 		reg = <0 0x1b000000 0 0x1000>;
+ 		reg = <0 0x10209000 0 0x1000>;
  		#clock-cells = <1>;
 +		#reset-cells = <1>;
  	};
  
- 	eth: ethernet@1b100000 {
+ 	rng: rng@1020f000 {
diff --git a/target/linux/mvebu/patches-4.14/408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch b/target/linux/mvebu/patches-4.14/408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch
index 8dd3560ff6..1960326f0a 100644
--- a/target/linux/mvebu/patches-4.14/408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch
+++ b/target/linux/mvebu/patches-4.14/408-sfp-move-module-eeprom-ethtool-access-into-netdev-co.patch
@@ -49,7 +49,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  };
 --- a/drivers/net/phy/phylink.c
 +++ b/drivers/net/phy/phylink.c
-@@ -1039,34 +1039,6 @@ int phylink_ethtool_set_pauseparam(struc
+@@ -1040,34 +1040,6 @@ int phylink_ethtool_set_pauseparam(struc
  }
  EXPORT_SYMBOL_GPL(phylink_ethtool_set_pauseparam);
  
@@ -129,7 +129,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
  /* 802.11 specific */
  struct wireless_dev;
  /* 802.15.4 specific */
-@@ -1921,6 +1922,7 @@ struct net_device {
+@@ -1908,6 +1909,7 @@ struct net_device {
  	struct netprio_map __rcu *priomap;
  #endif
  	struct phy_device	*phydev;
diff --git a/target/linux/mvebu/patches-4.14/409-sfp-use-netdev-sfp_bus-for-start-stop.patch b/target/linux/mvebu/patches-4.14/409-sfp-use-netdev-sfp_bus-for-start-stop.patch
index 3a0e663d4b..7023b57a51 100644
--- a/target/linux/mvebu/patches-4.14/409-sfp-use-netdev-sfp_bus-for-start-stop.patch
+++ b/target/linux/mvebu/patches-4.14/409-sfp-use-netdev-sfp_bus-for-start-stop.patch
@@ -31,4 +31,4 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
 +		sfp_upstream_stop(pl->netdev->sfp_bus);
  
  	set_bit(PHYLINK_DISABLE_STOPPED, &pl->phylink_disable_state);
- 	flush_work(&pl->resolve);
+ 	queue_work(system_power_efficient_wq, &pl->resolve);
diff --git a/target/linux/mvebu/patches-4.14/411-sfp-add-sfp-compatible.patch b/target/linux/mvebu/patches-4.14/411-sfp-add-sfp-compatible.patch
index 3c1cd1c990..a0462e766e 100644
--- a/target/linux/mvebu/patches-4.14/411-sfp-add-sfp-compatible.patch
+++ b/target/linux/mvebu/patches-4.14/411-sfp-add-sfp-compatible.patch
@@ -14,7 +14,7 @@ Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
 
 --- a/drivers/net/phy/sfp.c
 +++ b/drivers/net/phy/sfp.c
-@@ -1135,6 +1135,7 @@ static int sfp_remove(struct platform_de
+@@ -1137,6 +1137,7 @@ static int sfp_remove(struct platform_de
  
  static const struct of_device_id sfp_of_match[] = {
  	{ .compatible = "sff,sfp", },
diff --git a/target/linux/ramips/patches-4.14/0013-owrt-hack-fix-mt7688-cache-issue.patch b/target/linux/ramips/patches-4.14/0013-owrt-hack-fix-mt7688-cache-issue.patch
index 528c629649..442f3180a3 100644
--- a/target/linux/ramips/patches-4.14/0013-owrt-hack-fix-mt7688-cache-issue.patch
+++ b/target/linux/ramips/patches-4.14/0013-owrt-hack-fix-mt7688-cache-issue.patch
@@ -10,7 +10,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 
 --- a/arch/mips/kernel/setup.c
 +++ b/arch/mips/kernel/setup.c
-@@ -902,7 +902,6 @@ static void __init arch_mem_init(char **
+@@ -910,7 +910,6 @@ static void __init arch_mem_init(char **
  				crashk_res.end - crashk_res.start + 1,
  				BOOTMEM_DEFAULT);
  #endif
@@ -18,7 +18,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
  	sparse_init();
  	plat_swiotlb_setup();
  
-@@ -1018,6 +1017,7 @@ void __init setup_arch(char **cmdline_p)
+@@ -1026,6 +1025,7 @@ void __init setup_arch(char **cmdline_p)
  
  	cpu_cache_init();
  	paging_init();
-- 
2.30.2