diff options
18 files changed, 31 insertions, 187 deletions
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(); |