From: Stijn Tintel Date: Sat, 17 Feb 2018 21:59:07 +0000 (+0100) Subject: kernel: bump 4.14 to 4.14.20 X-Git-Tag: v18.06.0-rc1~913 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=88ba41453dbc65e1d5d596073d66bdf2e59a43a1 kernel: bump 4.14 to 4.14.20 Refresh patches. Remove upstreamed patches: - backport/080-v4.15-0001-arch-define-weak-abort.patch - backport/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch Update patch that no longer applies: pending/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch Fixes CVE-2017-8824. Compile-tested: octeon, x86/64. Runtime-tested: octeon, x86/64. Signed-off-by: Stijn Tintel --- diff --git a/include/kernel-version.mk b/include/kernel-version.mk index adf9712f00..891205d779 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 = .77 -LINUX_VERSION-4.14 = .18 +LINUX_VERSION-4.14 = .20 LINUX_KERNEL_HASH-3.18.71 = 5abc9778ad44ce02ed6c8ab52ece8a21c6d20d21f6ed8a19287b4a38a50c1240 LINUX_KERNEL_HASH-4.4.112 = 544b42cbeed022896115c76a18fc97b4507d5b41d7ac0ce1dce9afd6ffd11ecd LINUX_KERNEL_HASH-4.9.77 = 7c29bc3fb96f1e23d98f664e786dddd53a1599f56431b9b7fdfba402a4b3705c -LINUX_KERNEL_HASH-4.14.18 = 866a94c1c38d923ae18e74b683d7a8a79b674ebdfe7f40f1a3be9a27d39fe354 +LINUX_KERNEL_HASH-4.14.20 = 4ab7f42aa6af9c1e3b00cba6b1fa305a87407666aaa2fae555f7fbdaafb6d292 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/archs38/patches-4.14/700-stmmac-Disable-frame-filtering-completely.patch b/target/linux/archs38/patches-4.14/700-stmmac-Disable-frame-filtering-completely.patch index 58094ae96d..e63c2e934b 100644 --- a/target/linux/archs38/patches-4.14/700-stmmac-Disable-frame-filtering-completely.patch +++ b/target/linux/archs38/patches-4.14/700-stmmac-Disable-frame-filtering-completely.patch @@ -20,7 +20,7 @@ Signed-off-by: Alexey Brodkin --- a/drivers/net/ethernet/stmicro/stmmac/common.h +++ b/drivers/net/ethernet/stmicro/stmmac/common.h -@@ -49,7 +49,7 @@ +@@ -46,7 +46,7 @@ #define STMMAC_GET_ENTRY(x, size) ((x + 1) & (size - 1)) #undef FRAME_FILTER_DEBUG 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 0c57f2e337..6c80eaa4be 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 @@ -55,7 +55,7 @@ Cc: Kir Kolyshkin rwlock_t sk_callback_lock; --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -2744,6 +2744,7 @@ void sock_init_data(struct socket *sock, +@@ -2741,6 +2741,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/080-v4.15-0001-arch-define-weak-abort.patch b/target/linux/generic/backport-4.14/080-v4.15-0001-arch-define-weak-abort.patch deleted file mode 100644 index 1867234540..0000000000 --- a/target/linux/generic/backport-4.14/080-v4.15-0001-arch-define-weak-abort.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 7c2c11b208be09c156573fc0076b7b3646e05219 Mon Sep 17 00:00:00 2001 -From: Sudip Mukherjee -Date: Thu, 14 Dec 2017 15:33:19 -0800 -Subject: [PATCH] arch: define weak abort() - -gcc toggle -fisolate-erroneous-paths-dereference (default at -O2 -onwards) isolates faulty code paths such as null pointer access, divide -by zero etc. If gcc port doesnt implement __builtin_trap, an abort() is -generated which causes kernel link error. - -In this case, gcc is generating abort due to 'divide by zero' in -lib/mpi/mpih-div.c. - -Currently 'frv' and 'arc' are failing. Previously other arch was also -broken like m32r was fixed by commit d22e3d69ee1a ("m32r: fix build -failure"). - -Let's define this weak function which is common for all arch and fix the -problem permanently. We can even remove the arch specific 'abort' after -this is done. - -Link: http://lkml.kernel.org/r/1513118956-8718-1-git-send-email-sudipm.mukherjee@gmail.com -Signed-off-by: Sudip Mukherjee -Cc: Alexey Brodkin -Cc: Vineet Gupta -Cc: Sudip Mukherjee -Signed-off-by: Andrew Morton -Signed-off-by: Linus Torvalds ---- - kernel/exit.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - ---- a/kernel/exit.c -+++ b/kernel/exit.c -@@ -1755,3 +1755,11 @@ Efault: - return -EFAULT; - } - #endif -+ -+__weak void abort(void) -+{ -+ BUG(); -+ -+ /* if that doesn't kill us, halt */ -+ panic("Oops failed to kill thread"); -+} diff --git a/target/linux/generic/backport-4.14/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch b/target/linux/generic/backport-4.14/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch deleted file mode 100644 index 4c1402f153..0000000000 --- a/target/linux/generic/backport-4.14/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch +++ /dev/null @@ -1,63 +0,0 @@ -From dc8635b78cd8669c37e230058d18c33af7451ab1 Mon Sep 17 00:00:00 2001 -From: Andrew Morton -Date: Thu, 4 Jan 2018 16:17:56 -0800 -Subject: [PATCH] kernel/exit.c: export abort() to modules - -gcc -fisolate-erroneous-paths-dereference can generate calls to abort() -from modular code too. - -[arnd@arndb.de: drop duplicate exports of abort()] - Link: http://lkml.kernel.org/r/20180102103311.706364-1-arnd@arndb.de -Reported-by: Vineet Gupta -Cc: Sudip Mukherjee -Cc: Arnd Bergmann -Cc: Alexey Brodkin -Cc: Russell King -Cc: Jose Abreu -Signed-off-by: Andrew Morton -Signed-off-by: Arnd Bergmann -Signed-off-by: Linus Torvalds ---- - arch/arm/kernel/traps.c | 1 - - arch/m32r/kernel/traps.c | 1 - - arch/unicore32/kernel/traps.c | 1 - - kernel/exit.c | 1 + - 4 files changed, 1 insertion(+), 3 deletions(-) - ---- a/arch/arm/kernel/traps.c -+++ b/arch/arm/kernel/traps.c -@@ -790,7 +790,6 @@ void abort(void) - /* if that doesn't kill us, halt */ - panic("Oops failed to kill thread"); - } --EXPORT_SYMBOL(abort); - - void __init trap_init(void) - { ---- a/arch/m32r/kernel/traps.c -+++ b/arch/m32r/kernel/traps.c -@@ -122,7 +122,6 @@ void abort(void) - /* if that doesn't kill us, halt */ - panic("Oops failed to kill thread"); - } --EXPORT_SYMBOL(abort); - - void __init trap_init(void) - { ---- a/arch/unicore32/kernel/traps.c -+++ b/arch/unicore32/kernel/traps.c -@@ -298,7 +298,6 @@ void abort(void) - /* if that doesn't kill us, halt */ - panic("Oops failed to kill thread"); - } --EXPORT_SYMBOL(abort); - - void __init trap_init(void) - { ---- a/kernel/exit.c -+++ b/kernel/exit.c -@@ -1763,3 +1763,4 @@ __weak void abort(void) - /* if that doesn't kill us, halt */ - panic("Oops failed to kill thread"); - } -+EXPORT_SYMBOL(abort); diff --git a/target/linux/generic/hack-4.14/207-disable-modorder.patch b/target/linux/generic/hack-4.14/207-disable-modorder.patch index 4afed16a08..a6b0f67602 100644 --- a/target/linux/generic/hack-4.14/207-disable-modorder.patch +++ b/target/linux/generic/hack-4.14/207-disable-modorder.patch @@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau --- a/Makefile +++ b/Makefile -@@ -1212,7 +1212,6 @@ all: modules +@@ -1213,7 +1213,6 @@ all: modules PHONY += modules modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin @@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau @$(kecho) ' Building modules, stage 2.'; $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost -@@ -1241,7 +1240,6 @@ _modinst_: +@@ -1242,7 +1241,6 @@ _modinst_: rm -f $(MODLIB)/build ; \ ln -s $(CURDIR) $(MODLIB)/build ; \ fi diff --git a/target/linux/generic/hack-4.14/220-gc_sections.patch b/target/linux/generic/hack-4.14/220-gc_sections.patch index e06ddb80d4..162ee45ff0 100644 --- a/target/linux/generic/hack-4.14/220-gc_sections.patch +++ b/target/linux/generic/hack-4.14/220-gc_sections.patch @@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos # Read KERNELRELEASE from include/config/kernel.release (if it exists) KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null) KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION) -@@ -784,11 +789,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH +@@ -785,11 +790,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once) endif 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 e291da5163..c23a8fb616 100644 --- a/target/linux/generic/hack-4.14/902-debloat_proc.patch +++ b/target/linux/generic/hack-4.14/902-debloat_proc.patch @@ -327,7 +327,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -3383,6 +3383,8 @@ static __net_initdata struct pernet_oper +@@ -3380,6 +3380,8 @@ static __net_initdata struct pernet_oper static int __init proto_init(void) { diff --git a/target/linux/generic/pending-4.14/201-extra_optimization.patch b/target/linux/generic/pending-4.14/201-extra_optimization.patch index 81f7e2664e..e92b1a10a3 100644 --- a/target/linux/generic/pending-4.14/201-extra_optimization.patch +++ b/target/linux/generic/pending-4.14/201-extra_optimization.patch @@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau --- a/Makefile +++ b/Makefile -@@ -638,12 +638,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni +@@ -639,12 +639,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE KBUILD_CFLAGS += $(call cc-option,-Oz,-Os) diff --git a/target/linux/generic/pending-4.14/491-ubi-auto-create-ubiblock-device-for-rootfs.patch b/target/linux/generic/pending-4.14/491-ubi-auto-create-ubiblock-device-for-rootfs.patch index f8dc1bcb28..cb2d525610 100644 --- a/target/linux/generic/pending-4.14/491-ubi-auto-create-ubiblock-device-for-rootfs.patch +++ b/target/linux/generic/pending-4.14/491-ubi-auto-create-ubiblock-device-for-rootfs.patch @@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle --- a/drivers/mtd/ubi/block.c +++ b/drivers/mtd/ubi/block.c -@@ -625,6 +625,44 @@ static void __init ubiblock_create_from_ +@@ -633,6 +633,44 @@ static void __init ubiblock_create_from_ } } @@ -53,7 +53,7 @@ Signed-off-by: Daniel Golle static void ubiblock_remove_all(void) { struct ubiblock *next; -@@ -655,6 +693,10 @@ int __init ubiblock_init(void) +@@ -665,6 +703,10 @@ int __init ubiblock_init(void) */ ubiblock_create_from_param(); diff --git a/target/linux/generic/pending-4.14/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch b/target/linux/generic/pending-4.14/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch index 06cd1b62ac..1bb53ada7f 100644 --- a/target/linux/generic/pending-4.14/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch +++ b/target/linux/generic/pending-4.14/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch @@ -17,9 +17,9 @@ Signed-off-by: Daniel Golle #include "ubi-media.h" #include "ubi.h" @@ -445,6 +446,15 @@ int ubiblock_create(struct ubi_volume_in - add_disk(dev->gd); dev_info(disk_to_dev(dev->gd), "created from ubi%d:%d(%s)", dev->ubi_num, dev->vol_id, vi->name); + mutex_unlock(&devices_mutex); + + if (!strcmp(vi->name, "rootfs") && + IS_ENABLED(CONFIG_MTD_ROOTFS_ROOT_DEV) && diff --git a/target/linux/mediatek/patches-4.14/0006-reset-mediatek-mt2701-reset-driver.patch b/target/linux/mediatek/patches-4.14/0006-reset-mediatek-mt2701-reset-driver.patch index 770a1a0d76..a0fdc14f78 100644 --- a/target/linux/mediatek/patches-4.14/0006-reset-mediatek-mt2701-reset-driver.patch +++ b/target/linux/mediatek/patches-4.14/0006-reset-mediatek-mt2701-reset-driver.patch @@ -14,10 +14,8 @@ Acked-by: Philipp Zabel drivers/clk/mediatek/clk-mt2701.c | 4 ++++ 1 file changed, 4 insertions(+) -Index: linux-4.14.11/drivers/clk/mediatek/clk-mt2701.c -=================================================================== ---- linux-4.14.11.orig/drivers/clk/mediatek/clk-mt2701.c -+++ linux-4.14.11/drivers/clk/mediatek/clk-mt2701.c +--- a/drivers/clk/mediatek/clk-mt2701.c ++++ b/drivers/clk/mediatek/clk-mt2701.c @@ -771,6 +771,8 @@ static void mtk_infrasys_init_early(stru if (r) pr_err("%s(): could not register clock provider: %d\n", diff --git a/target/linux/mediatek/patches-4.14/0027-net-next-mediatek-fix-DQL-support.patch b/target/linux/mediatek/patches-4.14/0027-net-next-mediatek-fix-DQL-support.patch index 3431b119c0..3ea2f456a8 100644 --- a/target/linux/mediatek/patches-4.14/0027-net-next-mediatek-fix-DQL-support.patch +++ b/target/linux/mediatek/patches-4.14/0027-net-next-mediatek-fix-DQL-support.patch @@ -16,10 +16,8 @@ Signed-off-by: John Crispin drivers/net/ethernet/mediatek/mtk_eth_soc.c | 35 +++++++++++++++++------------ 1 file changed, 21 insertions(+), 14 deletions(-) -Index: linux-4.14.11/drivers/net/ethernet/mediatek/mtk_eth_soc.c -=================================================================== ---- linux-4.14.11.orig/drivers/net/ethernet/mediatek/mtk_eth_soc.c -+++ linux-4.14.11/drivers/net/ethernet/mediatek/mtk_eth_soc.c +--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c ++++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c @@ -779,7 +779,16 @@ static int mtk_tx_map(struct sk_buff *sk WRITE_ONCE(itxd->txd3, (TX_DMA_SWC | TX_DMA_PLEN0(skb_headlen(skb)) | (!nr_frags * TX_DMA_LS0))); diff --git a/target/linux/mediatek/patches-4.14/0032-net-dsa-mediatek-add-support-for-GMAC2-wired-to-ext-.patch b/target/linux/mediatek/patches-4.14/0032-net-dsa-mediatek-add-support-for-GMAC2-wired-to-ext-.patch index 073934d6e1..c01703d07b 100644 --- a/target/linux/mediatek/patches-4.14/0032-net-dsa-mediatek-add-support-for-GMAC2-wired-to-ext-.patch +++ b/target/linux/mediatek/patches-4.14/0032-net-dsa-mediatek-add-support-for-GMAC2-wired-to-ext-.patch @@ -10,10 +10,8 @@ Signed-off-by: John Crispin drivers/net/ethernet/mediatek/mtk_eth_soc.c | 3 +++ 2 files changed, 8 insertions(+) -Index: linux-4.14.11/drivers/net/dsa/mt7530.c -=================================================================== ---- linux-4.14.11.orig/drivers/net/dsa/mt7530.c -+++ linux-4.14.11/drivers/net/dsa/mt7530.c +--- a/drivers/net/dsa/mt7530.c ++++ b/drivers/net/dsa/mt7530.c @@ -991,6 +991,11 @@ mt7530_setup(struct dsa_switch *ds) val = mt7530_read(priv, MT7530_MHWTRAP); val &= ~MHWTRAP_P6_DIS & ~MHWTRAP_PHY_ACCESS; diff --git a/target/linux/mediatek/patches-4.14/0033-dsa-multi-cpu.patch b/target/linux/mediatek/patches-4.14/0033-dsa-multi-cpu.patch index 92f4c98dca..5c4edec077 100644 --- a/target/linux/mediatek/patches-4.14/0033-dsa-multi-cpu.patch +++ b/target/linux/mediatek/patches-4.14/0033-dsa-multi-cpu.patch @@ -1,7 +1,5 @@ -Index: linux-4.14.14/drivers/net/dsa/mt7530.c -=================================================================== ---- linux-4.14.14.orig/drivers/net/dsa/mt7530.c -+++ linux-4.14.14/drivers/net/dsa/mt7530.c +--- a/drivers/net/dsa/mt7530.c ++++ b/drivers/net/dsa/mt7530.c @@ -670,6 +670,9 @@ static int mt7530_cpu_port_enable(struct mt7530_priv *priv, int port) @@ -98,10 +96,8 @@ Index: linux-4.14.14/drivers/net/dsa/mt7530.c val |= MHWTRAP_MANUAL; if (!dsa_is_cpu_port(ds, 5)) { val |= MHWTRAP_P5_DIS; -Index: linux-4.14.14/include/net/dsa.h -=================================================================== ---- linux-4.14.14.orig/include/net/dsa.h -+++ linux-4.14.14/include/net/dsa.h +--- a/include/net/dsa.h ++++ b/include/net/dsa.h @@ -185,6 +185,10 @@ struct dsa_port { u8 stp_state; struct net_device *bridge_dev; @@ -144,10 +140,8 @@ Index: linux-4.14.14/include/net/dsa.h typedef int dsa_fdb_dump_cb_t(const unsigned char *addr, u16 vid, bool is_static, void *data); struct dsa_switch_ops { -Index: linux-4.14.14/net/dsa/dsa2.c -=================================================================== ---- linux-4.14.14.orig/net/dsa/dsa2.c -+++ linux-4.14.14/net/dsa/dsa2.c +--- a/net/dsa/dsa2.c ++++ b/net/dsa/dsa2.c @@ -253,6 +253,8 @@ static int dsa_cpu_port_apply(struct dsa memset(&port->devlink_port, 0, sizeof(port->devlink_port)); err = devlink_port_register(ds->devlink, &port->devlink_port, @@ -232,10 +226,8 @@ Index: linux-4.14.14/net/dsa/dsa2.c /* Initialize enabled_port_mask now for drv->setup() * to have access to a correct value, just like what * net/dsa/dsa.c::dsa_switch_setup_one does. -Index: linux-4.14.14/net/dsa/dsa_priv.h -=================================================================== ---- linux-4.14.14.orig/net/dsa/dsa_priv.h -+++ linux-4.14.14/net/dsa/dsa_priv.h +--- a/net/dsa/dsa_priv.h ++++ b/net/dsa/dsa_priv.h @@ -91,6 +91,8 @@ struct dsa_slave_priv { /* TC context */ @@ -255,10 +247,8 @@ Index: linux-4.14.14/net/dsa/dsa_priv.h return p->dp->cpu_dp->netdev; } -Index: linux-4.14.14/net/dsa/slave.c -=================================================================== ---- linux-4.14.14.orig/net/dsa/slave.c -+++ linux-4.14.14/net/dsa/slave.c +--- a/net/dsa/slave.c ++++ b/net/dsa/slave.c @@ -1257,7 +1257,7 @@ int dsa_slave_create(struct dsa_port *po int ret; diff --git a/target/linux/mediatek/patches-4.14/0035-net-mediatek-disable-RX-VLan-offloading.patch b/target/linux/mediatek/patches-4.14/0035-net-mediatek-disable-RX-VLan-offloading.patch index 36321c55cf..07f8206ead 100644 --- a/target/linux/mediatek/patches-4.14/0035-net-mediatek-disable-RX-VLan-offloading.patch +++ b/target/linux/mediatek/patches-4.14/0035-net-mediatek-disable-RX-VLan-offloading.patch @@ -11,7 +11,7 @@ Signed-off-by: John Crispin --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -643,8 +643,8 @@ static int mtk_tx_map(struct sk_buff *sk +@@ -709,8 +709,8 @@ static int mtk_tx_map(struct sk_buff *sk txd4 |= TX_DMA_CHKSUM; /* VLAN header offload */ @@ -22,7 +22,7 @@ Signed-off-by: John Crispin mapped_addr = dma_map_single(eth->dev, skb->data, skb_headlen(skb), DMA_TO_DEVICE); -@@ -1874,7 +1874,10 @@ static int mtk_hw_init(struct mtk_eth *e +@@ -1979,7 +1979,10 @@ static int mtk_hw_init(struct mtk_eth *e mtk_w32(eth, val | MTK_CDMQ_STAG_EN, MTK_CDMQ_IG_CTRL); /* Enable RX VLan Offloading */ @@ -32,8 +32,8 @@ Signed-off-by: John Crispin + else + mtk_w32(eth, 0, MTK_CDMP_EG_CTRL); - /* disable delay and normal interrupt */ - mtk_w32(eth, 0, MTK_QDMA_DELAY_INT); + /* enable interrupt delay for RX */ + mtk_w32(eth, MTK_PDMA_DELAY_RX_DELAY, MTK_PDMA_DELAY_INT); --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h @@ -34,8 +34,6 @@ diff --git a/target/linux/mediatek/patches-4.14/0042-net-next-mediatek-honour-special-tag-bit-inside-RX-D.patch b/target/linux/mediatek/patches-4.14/0042-net-next-mediatek-honour-special-tag-bit-inside-RX-D.patch index 4f2c7b2e6e..8163e4475d 100644 --- a/target/linux/mediatek/patches-4.14/0042-net-next-mediatek-honour-special-tag-bit-inside-RX-D.patch +++ b/target/linux/mediatek/patches-4.14/0042-net-next-mediatek-honour-special-tag-bit-inside-RX-D.patch @@ -17,7 +17,7 @@ Signed-off-by: John Crispin --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -933,10 +933,16 @@ static int mtk_poll_rx(struct napi_struc +@@ -999,10 +999,16 @@ static int mtk_poll_rx(struct napi_struc if (!(trxd.rxd2 & RX_DMA_DONE)) break; @@ -36,11 +36,11 @@ Signed-off-by: John Crispin + mac--; + } - netdev = eth->netdev[mac]; - + if (unlikely(mac < 0 || mac >= MTK_MAC_COUNT || + !eth->netdev[mac])) --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h -@@ -284,6 +284,7 @@ +@@ -287,6 +287,7 @@ /* QDMA descriptor rxd4 */ #define RX_DMA_L4_VALID BIT(24) diff --git a/target/linux/mediatek/patches-4.14/0043-net-next-mediatek-enable-special-tag-indication-for-.patch b/target/linux/mediatek/patches-4.14/0043-net-next-mediatek-enable-special-tag-indication-for-.patch index 2256325c9c..7542a55148 100644 --- a/target/linux/mediatek/patches-4.14/0043-net-next-mediatek-enable-special-tag-indication-for-.patch +++ b/target/linux/mediatek/patches-4.14/0043-net-next-mediatek-enable-special-tag-indication-for-.patch @@ -17,7 +17,7 @@ Signed-off-by: John Crispin --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -1894,6 +1894,8 @@ static int mtk_hw_init(struct mtk_eth *e +@@ -1983,6 +1983,8 @@ static int mtk_hw_init(struct mtk_eth *e */ val = mtk_r32(eth, MTK_CDMQ_IG_CTRL); mtk_w32(eth, val | MTK_CDMQ_STAG_EN, MTK_CDMQ_IG_CTRL); @@ -28,7 +28,7 @@ Signed-off-by: John Crispin if (MTK_HW_FEATURES & NETIF_F_HW_VLAN_CTAG_RX) --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h -@@ -76,6 +76,10 @@ +@@ -72,6 +72,10 @@ #define MTK_CDMQ_IG_CTRL 0x1400 #define MTK_CDMQ_STAG_EN BIT(0) diff --git a/target/linux/mediatek/patches-4.14/0044-net-next-dsa-mediatek-tell-GDMA-when-we-are-turning-.patch b/target/linux/mediatek/patches-4.14/0044-net-next-dsa-mediatek-tell-GDMA-when-we-are-turning-.patch index 51204d4001..4a69e7aadf 100644 --- a/target/linux/mediatek/patches-4.14/0044-net-next-dsa-mediatek-tell-GDMA-when-we-are-turning-.patch +++ b/target/linux/mediatek/patches-4.14/0044-net-next-dsa-mediatek-tell-GDMA-when-we-are-turning-.patch @@ -16,7 +16,7 @@ Signed-off-by: John Crispin --- a/drivers/net/dsa/mt7530.c +++ b/drivers/net/dsa/mt7530.c -@@ -742,6 +742,11 @@ mt7530_cpu_port_enable(struct mt7530_pri +@@ -677,6 +677,11 @@ mt7530_cpu_port_enable(struct mt7530_pri mt7530_write(priv, MT7530_PVC_P(port), PORT_SPEC_TAG); diff --git a/target/linux/mediatek/patches-4.14/0045-net-dsa-mediatek-turn-into-platform-driver.patch b/target/linux/mediatek/patches-4.14/0045-net-dsa-mediatek-turn-into-platform-driver.patch index f9c0a2b5e8..87e3e88226 100644 --- a/target/linux/mediatek/patches-4.14/0045-net-dsa-mediatek-turn-into-platform-driver.patch +++ b/target/linux/mediatek/patches-4.14/0045-net-dsa-mediatek-turn-into-platform-driver.patch @@ -8,10 +8,8 @@ Signed-off-by: John Crispin drivers/net/dsa/mt7530.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) -Index: linux-4.14.12/drivers/net/dsa/mt7530.c -=================================================================== ---- linux-4.14.12.orig/drivers/net/dsa/mt7530.c -+++ linux-4.14.12/drivers/net/dsa/mt7530.c +--- a/drivers/net/dsa/mt7530.c ++++ b/drivers/net/dsa/mt7530.c @@ -1049,10 +1049,10 @@ static const struct dsa_switch_ops mt753 }; diff --git a/target/linux/mediatek/patches-4.14/0046-net-mediatek-add-irq-delay.patch b/target/linux/mediatek/patches-4.14/0046-net-mediatek-add-irq-delay.patch index 3c351d345e..531c426f9d 100644 --- a/target/linux/mediatek/patches-4.14/0046-net-mediatek-add-irq-delay.patch +++ b/target/linux/mediatek/patches-4.14/0046-net-mediatek-add-irq-delay.patch @@ -9,10 +9,8 @@ Signed-off-by: John Crispin drivers/net/ethernet/mediatek/mtk_eth_soc.h | 8 +++++++- 2 files changed, 13 insertions(+), 2 deletions(-) -Index: linux-4.14.11/drivers/net/ethernet/mediatek/mtk_eth_soc.c -=================================================================== ---- linux-4.14.11.orig/drivers/net/ethernet/mediatek/mtk_eth_soc.c -+++ linux-4.14.11/drivers/net/ethernet/mediatek/mtk_eth_soc.c +--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c ++++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c @@ -1994,6 +1994,7 @@ static int mtk_hw_init(struct mtk_eth *e /* enable interrupt delay for RX */ diff --git a/target/linux/mediatek/patches-4.14/0048-net-core-add-RPS-balancer.patch b/target/linux/mediatek/patches-4.14/0048-net-core-add-RPS-balancer.patch index aeb81e14bf..673df45a63 100644 --- a/target/linux/mediatek/patches-4.14/0048-net-core-add-RPS-balancer.patch +++ b/target/linux/mediatek/patches-4.14/0048-net-core-add-RPS-balancer.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3551,6 +3551,58 @@ set_rps_cpu(struct net_device *dev, stru +@@ -3621,6 +3621,58 @@ set_rps_cpu(struct net_device *dev, stru return rflow; } @@ -69,7 +69,7 @@ Signed-off-by: John Crispin /* * get_rps_cpu is called from netif_receive_skb and returns the target * CPU from the RPS map of the receiving queue for a given skb. -@@ -3640,7 +3692,7 @@ static int get_rps_cpu(struct net_device +@@ -3710,7 +3762,7 @@ static int get_rps_cpu(struct net_device try_rps: if (map) { @@ -78,7 +78,7 @@ Signed-off-by: John Crispin if (cpu_online(tcpu)) { cpu = tcpu; goto done; -@@ -8431,6 +8483,9 @@ static int __init net_dev_init(void) +@@ -8795,6 +8847,9 @@ static int __init net_dev_init(void) sd->backlog.weight = weight_p; } diff --git a/target/linux/mediatek/patches-4.14/0051-net-mediatek-increase-tx_timeout.patch b/target/linux/mediatek/patches-4.14/0051-net-mediatek-increase-tx_timeout.patch index 3de3e7343b..2efab3f7d5 100644 --- a/target/linux/mediatek/patches-4.14/0051-net-mediatek-increase-tx_timeout.patch +++ b/target/linux/mediatek/patches-4.14/0051-net-mediatek-increase-tx_timeout.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -2384,7 +2384,7 @@ static int mtk_add_mac(struct mtk_eth *e +@@ -2453,7 +2453,7 @@ static int mtk_add_mac(struct mtk_eth *e mac->hw_stats->reg_offset = id * MTK_STAT_OFFSET; SET_NETDEV_DEV(eth->netdev[id], eth->dev); diff --git a/target/linux/mediatek/patches-4.14/0052-net-phy-add-FC.patch b/target/linux/mediatek/patches-4.14/0052-net-phy-add-FC.patch index 32d516ce4d..5d04113852 100644 --- a/target/linux/mediatek/patches-4.14/0052-net-phy-add-FC.patch +++ b/target/linux/mediatek/patches-4.14/0052-net-phy-add-FC.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1804,7 +1804,7 @@ static struct phy_driver genphy_driver[] +@@ -1912,7 +1912,7 @@ static struct phy_driver genphy_driver = .config_init = genphy_config_init, .features = PHY_GBIT_FEATURES | SUPPORTED_MII | SUPPORTED_AUI | SUPPORTED_FIBRE | diff --git a/target/linux/mediatek/patches-4.14/0062-mdio-atomic.patch b/target/linux/mediatek/patches-4.14/0062-mdio-atomic.patch index 96e7072a33..9ce66ef487 100644 --- a/target/linux/mediatek/patches-4.14/0062-mdio-atomic.patch +++ b/target/linux/mediatek/patches-4.14/0062-mdio-atomic.patch @@ -1,6 +1,6 @@ --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c -@@ -97,7 +97,10 @@ static int mtk_mdio_busy_wait(struct mtk +@@ -76,7 +76,10 @@ static int mtk_mdio_busy_wait(struct mtk return 0; if (time_after(jiffies, t_start + PHY_IAC_TIMEOUT)) break; diff --git a/target/linux/mediatek/patches-4.14/0063-atomic-sleep.patch b/target/linux/mediatek/patches-4.14/0063-atomic-sleep.patch index de49dacd5f..0dde3fdb64 100644 --- a/target/linux/mediatek/patches-4.14/0063-atomic-sleep.patch +++ b/target/linux/mediatek/patches-4.14/0063-atomic-sleep.patch @@ -1,7 +1,5 @@ -Index: linux-4.14.12/drivers/net/ethernet/mediatek/mtk_eth_soc.c -=================================================================== ---- linux-4.14.12.orig/drivers/net/ethernet/mediatek/mtk_eth_soc.c -+++ linux-4.14.12/drivers/net/ethernet/mediatek/mtk_eth_soc.c +--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c ++++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c @@ -409,6 +409,7 @@ static int mtk_mdio_init(struct mtk_eth snprintf(eth->mii_bus->id, MII_BUS_ID_SIZE, "%s", mii_np->name); diff --git a/target/linux/mediatek/patches-4.14/0064-dts.patch b/target/linux/mediatek/patches-4.14/0064-dts.patch index 9120dfc2cd..9f069e7809 100644 --- a/target/linux/mediatek/patches-4.14/0064-dts.patch +++ b/target/linux/mediatek/patches-4.14/0064-dts.patch @@ -1,7 +1,5 @@ -Index: linux-4.14.18/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts -=================================================================== ---- linux-4.14.18.orig/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts -+++ linux-4.14.18/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts +--- a/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts ++++ b/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts @@ -21,6 +21,10 @@ stdout-path = "serial2:115200n8"; }; @@ -117,10 +115,8 @@ Index: linux-4.14.18/arch/arm/boot/dts/mt7623n-bananapi-bpi-r2.dts &i2c0 { pinctrl-names = "default"; -Index: linux-4.14.18/arch/arm/boot/dts/Makefile -=================================================================== ---- linux-4.14.18.orig/arch/arm/boot/dts/Makefile -+++ linux-4.14.18/arch/arm/boot/dts/Makefile +--- a/arch/arm/boot/dts/Makefile ++++ b/arch/arm/boot/dts/Makefile @@ -1061,6 +1061,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \ mt6580-evbp1.dtb \ mt6589-aquaris5.dtb \ @@ -129,10 +125,8 @@ Index: linux-4.14.18/arch/arm/boot/dts/Makefile mt7623n-rfb-nand.dtb \ mt7623n-bananapi-bpi-r2.dtb \ mt8127-moose.dtb \ -Index: linux-4.14.18/arch/arm/boot/dts/mt7623a-rfb-emmc.dts -=================================================================== --- /dev/null -+++ linux-4.14.18/arch/arm/boot/dts/mt7623a-rfb-emmc.dts ++++ b/arch/arm/boot/dts/mt7623a-rfb-emmc.dts @@ -0,0 +1,449 @@ +/* + * Copyright 2017 Sean Wang @@ -583,10 +577,8 @@ Index: linux-4.14.18/arch/arm/boot/dts/mt7623a-rfb-emmc.dts + status = "okay"; +}; + -Index: linux-4.14.18/arch/arm/boot/dts/mt7623.dtsi -=================================================================== ---- linux-4.14.18.orig/arch/arm/boot/dts/mt7623.dtsi -+++ linux-4.14.18/arch/arm/boot/dts/mt7623.dtsi +--- a/arch/arm/boot/dts/mt7623.dtsi ++++ b/arch/arm/boot/dts/mt7623.dtsi @@ -753,6 +753,7 @@ "syscon"; reg = <0 0x1b000000 0 0x1000>; diff --git a/target/linux/octeontx/patches-4.14/0001-net-thunderx-add-support-for-rgmii-internal-delay-mo.patch b/target/linux/octeontx/patches-4.14/0001-net-thunderx-add-support-for-rgmii-internal-delay-mo.patch index 362f4bc7ed..efd13da5ec 100644 --- a/target/linux/octeontx/patches-4.14/0001-net-thunderx-add-support-for-rgmii-internal-delay-mo.patch +++ b/target/linux/octeontx/patches-4.14/0001-net-thunderx-add-support-for-rgmii-internal-delay-mo.patch @@ -17,8 +17,6 @@ Signed-off-by: Tim Harvey drivers/net/ethernet/cavium/thunder/thunder_xcv.c | 31 ++++++++++++++++++----- 3 files changed, 35 insertions(+), 11 deletions(-) -diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c -index 5e5c4d7..805c02a 100644 --- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c +++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c @@ -55,6 +55,7 @@ struct bgx { @@ -29,7 +27,7 @@ index 5e5c4d7..805c02a 100644 }; static struct bgx *bgx_vnic[MAX_BGX_THUNDER]; -@@ -841,12 +842,12 @@ static void bgx_poll_for_link(struct work_struct *work) +@@ -841,12 +842,12 @@ static void bgx_poll_for_link(struct wor queue_delayed_work(lmac->check_link, &lmac->dwork, HZ * 2); } @@ -44,7 +42,7 @@ index 5e5c4d7..805c02a 100644 return PHY_INTERFACE_MODE_SGMII; } -@@ -912,7 +913,8 @@ static int bgx_lmac_enable(struct bgx *bgx, u8 lmacid) +@@ -912,7 +913,8 @@ static int bgx_lmac_enable(struct bgx *b if (phy_connect_direct(&lmac->netdev, lmac->phydev, bgx_lmac_handler, @@ -54,7 +52,7 @@ index 5e5c4d7..805c02a 100644 return -ENODEV; phy_start_aneg(lmac->phydev); -@@ -1287,6 +1289,8 @@ static int bgx_init_of_phy(struct bgx *bgx) +@@ -1287,6 +1289,8 @@ static int bgx_init_of_phy(struct bgx *b bgx->lmac[lmac].lmacid = lmac; phy_np = of_parse_phandle(node, "phy-handle", 0); @@ -63,7 +61,7 @@ index 5e5c4d7..805c02a 100644 /* If there is no phy or defective firmware presents * this cortina phy, for which there is no driver * support, ignore it. -@@ -1390,7 +1394,6 @@ static int bgx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) +@@ -1390,7 +1394,6 @@ static int bgx_probe(struct pci_dev *pde bgx->max_lmac = 1; bgx->bgx_id = MAX_BGX_PER_CN81XX - 1; bgx_vnic[bgx->bgx_id] = bgx; @@ -71,7 +69,7 @@ index 5e5c4d7..805c02a 100644 } /* On 81xx all are DLMs and on 83xx there are 3 BGX QLMs and one -@@ -1407,6 +1410,8 @@ static int bgx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) +@@ -1407,6 +1410,8 @@ static int bgx_probe(struct pci_dev *pde if (err) goto err_enable; @@ -80,11 +78,9 @@ index 5e5c4d7..805c02a 100644 bgx_init_hw(bgx); /* Enable all LMACs */ -diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.h b/drivers/net/ethernet/cavium/thunder/thunder_bgx.h -index 23acdc5..2bba9d1 100644 --- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.h +++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.h -@@ -226,7 +226,7 @@ void bgx_lmac_internal_loopback(int node, int bgx_idx, +@@ -226,7 +226,7 @@ void bgx_lmac_internal_loopback(int node void bgx_lmac_get_pfc(int node, int bgx_idx, int lmacid, void *pause); void bgx_lmac_set_pfc(int node, int bgx_idx, int lmacid, void *pause); @@ -93,8 +89,6 @@ index 23acdc5..2bba9d1 100644 void xcv_setup_link(bool link_up, int link_speed); u64 bgx_get_rx_stats(int node, int bgx_idx, int lmac, int idx); -diff --git a/drivers/net/ethernet/cavium/thunder/thunder_xcv.c b/drivers/net/ethernet/cavium/thunder/thunder_xcv.c -index 578c7f8..7e0c4cb 100644 --- a/drivers/net/ethernet/cavium/thunder/thunder_xcv.c +++ b/drivers/net/ethernet/cavium/thunder/thunder_xcv.c @@ -65,7 +65,7 @@ MODULE_LICENSE("GPL v2"); @@ -143,6 +137,3 @@ index 578c7f8..7e0c4cb 100644 writeq_relaxed(cfg, xcv->reg_base + XCV_DLL_CTL); /* Enable compensation controller and force the --- -2.7.4 - diff --git a/target/linux/octeontx/patches-4.14/0001-net-thunderx-workaround-BGX-TX-Underflow-issue.patch b/target/linux/octeontx/patches-4.14/0001-net-thunderx-workaround-BGX-TX-Underflow-issue.patch index db57f6dcca..ef7aef3a8a 100644 --- a/target/linux/octeontx/patches-4.14/0001-net-thunderx-workaround-BGX-TX-Underflow-issue.patch +++ b/target/linux/octeontx/patches-4.14/0001-net-thunderx-workaround-BGX-TX-Underflow-issue.patch @@ -13,8 +13,6 @@ Signed-off-by: Tim Harvey drivers/net/ethernet/cavium/thunder/thunder_bgx.h | 9 ++++ 2 files changed, 63 insertions(+) -diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c -index 805c02a..0690966 100644 --- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c +++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c @@ -1344,6 +1344,54 @@ static int bgx_init_phy(struct bgx *bgx) @@ -72,7 +70,7 @@ index 805c02a..0690966 100644 static int bgx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { int err; -@@ -1414,6 +1462,8 @@ static int bgx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) +@@ -1414,6 +1462,8 @@ static int bgx_probe(struct pci_dev *pde xcv_init_hw(bgx->phy_mode); bgx_init_hw(bgx); @@ -81,7 +79,7 @@ index 805c02a..0690966 100644 /* Enable all LMACs */ for (lmac = 0; lmac < bgx->lmac_count; lmac++) { err = bgx_lmac_enable(bgx, lmac); -@@ -1424,6 +1474,10 @@ static int bgx_probe(struct pci_dev *pdev, const struct pci_device_id *ent) +@@ -1424,6 +1474,10 @@ static int bgx_probe(struct pci_dev *pde bgx_lmac_disable(bgx, --lmac); goto err_enable; } @@ -92,8 +90,6 @@ index 805c02a..0690966 100644 } return 0; -diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.h b/drivers/net/ethernet/cavium/thunder/thunder_bgx.h -index 2bba9d1..be9148f9 100644 --- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.h +++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.h @@ -179,6 +179,15 @@ @@ -112,6 +108,3 @@ index 2bba9d1..be9148f9 100644 #define BGX_MSIX_VEC_0_29_ADDR 0x400000 /* +(0..29) << 4 */ #define BGX_MSIX_VEC_0_29_CTL 0x400008 --- -2.7.4 - diff --git a/target/linux/ramips/patches-4.14/0040-nand-hack-restore-write_page.patch b/target/linux/ramips/patches-4.14/0040-nand-hack-restore-write_page.patch index 80136b89a6..048e60441c 100644 --- a/target/linux/ramips/patches-4.14/0040-nand-hack-restore-write_page.patch +++ b/target/linux/ramips/patches-4.14/0040-nand-hack-restore-write_page.patch @@ -12,7 +12,7 @@ int (*onfi_get_features)(struct mtd_info *mtd, struct nand_chip *chip, --- a/drivers/mtd/nand/nand_base.c +++ b/drivers/mtd/nand/nand_base.c -@@ -2753,9 +2753,14 @@ static int nand_do_write_ops(struct mtd_ +@@ -2756,9 +2756,14 @@ static int nand_do_write_ops(struct mtd_ memset(chip->oob_poi, 0xff, mtd->oobsize); } @@ -30,7 +30,7 @@ if (ret) break; -@@ -4711,6 +4716,9 @@ int nand_scan_tail(struct mtd_info *mtd) +@@ -4714,6 +4719,9 @@ int nand_scan_tail(struct mtd_info *mtd) } } diff --git a/target/linux/ramips/patches-4.14/0040-nand-hack.patch b/target/linux/ramips/patches-4.14/0040-nand-hack.patch index a9d16840f0..7b616eca46 100644 --- a/target/linux/ramips/patches-4.14/0040-nand-hack.patch +++ b/target/linux/ramips/patches-4.14/0040-nand-hack.patch @@ -18,7 +18,7 @@ if (ret < 0) { if (use_bufpoi) /* Invalidate page cache */ -@@ -3076,8 +3080,11 @@ int nand_erase_nand(struct mtd_info *mtd +@@ -3079,8 +3083,11 @@ int nand_erase_nand(struct mtd_info *mtd (page + pages_per_block)) chip->pagebuf = -1; @@ -31,7 +31,7 @@ /* See if block erase succeeded */ if (status & NAND_STATUS_FAIL) { pr_debug("%s: failed erase, page 0x%08x\n", -@@ -4207,6 +4214,7 @@ int nand_scan_ident(struct mtd_info *mtd +@@ -4210,6 +4217,7 @@ int nand_scan_ident(struct mtd_info *mtd * cmdfunc() both expect cmd_ctrl() to be populated, * so we need to check that that's the case */