diff options
author | Stijn Tintel <stijn@linux-ipv6.be> | 2017-08-17 10:51:05 +0200 |
---|---|---|
committer | Stijn Tintel <stijn@linux-ipv6.be> | 2017-08-17 12:34:34 +0200 |
commit | 2d02a4f5bda4a5ff392286360ec7d1129bd77d25 (patch) | |
tree | c243a9231fd508b585c2711e8b691e8ca06d2988 /target/linux/generic/pending-4.9 | |
parent | d9564d79b8e91eed23c45afd2eb4a71a97c922eb (diff) | |
download | upstream-2d02a4f5bda4a5ff392286360ec7d1129bd77d25.tar.gz upstream-2d02a4f5bda4a5ff392286360ec7d1129bd77d25.tar.bz2 upstream-2d02a4f5bda4a5ff392286360ec7d1129bd77d25.zip |
kernel: update 4.9 to 4.9.44
Refresh patches.
Adapt 704-phy-no-genphy-soft-reset.patch.
Remove brcm2708/950-0005-mm-Remove-the-PFN-busy-warning.patch.
Compile-tested on brcm2708/bcm2708 and x86/64.
Runtime-tested on brcm2708/bcm2708 and x86/64.
Fixes the following vulnerabilities:
- CVE-2017-7533
- CVE-2017-1000111
- CVE-2017-1000112
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Diffstat (limited to 'target/linux/generic/pending-4.9')
57 files changed, 144 insertions, 522 deletions
diff --git a/target/linux/generic/pending-4.9/130-add-linux-spidev-compatible-si3210.patch b/target/linux/generic/pending-4.9/130-add-linux-spidev-compatible-si3210.patch index 01ac900b81..b3de75fbbe 100644 --- a/target/linux/generic/pending-4.9/130-add-linux-spidev-compatible-si3210.patch +++ b/target/linux/generic/pending-4.9/130-add-linux-spidev-compatible-si3210.patch @@ -6,8 +6,6 @@ Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com> drivers/spi/spidev.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c -index 2e05046f866b..09d03763f39b 100644 --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c @@ -696,6 +696,7 @@ static struct class *spidev_class; @@ -18,6 +16,3 @@ index 2e05046f866b..09d03763f39b 100644 {}, }; MODULE_DEVICE_TABLE(of, spidev_dt_ids); --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/131-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch b/target/linux/generic/pending-4.9/131-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch index e11e7148d9..8c2d68b9db 100644 --- a/target/linux/generic/pending-4.9/131-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch +++ b/target/linux/generic/pending-4.9/131-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c -@@ -698,7 +698,7 @@ static void spi_set_cs(struct spi_device +@@ -700,7 +700,7 @@ static void spi_set_cs(struct spi_device enable = !enable; if (gpio_is_valid(spi->cs_gpio)) diff --git a/target/linux/generic/pending-4.9/201-extra_optimization.patch b/target/linux/generic/pending-4.9/201-extra_optimization.patch index b0ad420e5c..74acc35715 100644 --- a/target/linux/generic/pending-4.9/201-extra_optimization.patch +++ b/target/linux/generic/pending-4.9/201-extra_optimization.patch @@ -12,11 +12,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -diff --git a/Makefile b/Makefile -index 598494bc9a4b..1f02ac9b571a 100644 --- a/Makefile +++ b/Makefile -@@ -637,12 +637,12 @@ KBUILD_CFLAGS += $(call cc-option,-fdata-sections,) +@@ -639,12 +639,12 @@ KBUILD_CFLAGS += $(call cc-option,-fdata endif ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE @@ -32,6 +30,3 @@ index 598494bc9a4b..1f02ac9b571a 100644 endif endif --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/203-kallsyms_uncompressed.patch b/target/linux/generic/pending-4.9/203-kallsyms_uncompressed.patch index 78255f5bcd..f275194739 100644 --- a/target/linux/generic/pending-4.9/203-kallsyms_uncompressed.patch +++ b/target/linux/generic/pending-4.9/203-kallsyms_uncompressed.patch @@ -11,8 +11,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> scripts/link-vmlinux.sh | 4 ++++ 4 files changed, 35 insertions(+) -diff --git a/init/Kconfig b/init/Kconfig -index 34407f15e6d3..9063c81b9665 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1370,6 +1370,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW @@ -33,11 +31,9 @@ index 34407f15e6d3..9063c81b9665 100644 config HAVE_PCSPKR_PLATFORM bool -diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c -index fafd1a3ef0da..abe49579212f 100644 --- a/kernel/kallsyms.c +++ b/kernel/kallsyms.c -@@ -113,6 +113,11 @@ static unsigned int kallsyms_expand_symbol(unsigned int off, +@@ -113,6 +113,11 @@ static unsigned int kallsyms_expand_symb * For every byte on the compressed symbol data, copy the table * entry for that byte. */ @@ -49,7 +45,7 @@ index fafd1a3ef0da..abe49579212f 100644 while (len) { tptr = &kallsyms_token_table[kallsyms_token_index[*data]]; data++; -@@ -145,6 +150,9 @@ static unsigned int kallsyms_expand_symbol(unsigned int off, +@@ -145,6 +150,9 @@ tail: */ static char kallsyms_get_symbol_type(unsigned int off) { @@ -59,11 +55,9 @@ index fafd1a3ef0da..abe49579212f 100644 /* * Get just the first code, look it up in the token table, * and return the first char from this token. -diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c -index 1f22a186c18c..e7f0f19e39a9 100644 --- a/scripts/kallsyms.c +++ b/scripts/kallsyms.c -@@ -61,6 +61,7 @@ static struct addr_range percpu_range = { +@@ -61,6 +61,7 @@ static struct addr_range percpu_range = static struct sym_entry *table; static unsigned int table_size, table_cnt; static int all_symbols = 0; @@ -81,7 +75,7 @@ index 1f22a186c18c..e7f0f19e39a9 100644 output_label("kallsyms_token_table"); off = 0; for (i = 0; i < 256; i++) { -@@ -504,6 +508,9 @@ static void *find_token(unsigned char *str, int len, unsigned char *token) +@@ -504,6 +508,9 @@ static void *find_token(unsigned char *s { int i; @@ -110,8 +104,6 @@ index 1f22a186c18c..e7f0f19e39a9 100644 else usage(); } -diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh -index f742c65108b9..6aabf1d71bb6 100755 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh @@ -136,6 +136,10 @@ kallsyms() @@ -125,6 +117,3 @@ index f742c65108b9..6aabf1d71bb6 100755 local aflags="${KBUILD_AFLAGS} ${KBUILD_AFLAGS_KERNEL} \ ${NOSTDINC_FLAGS} ${LINUXINCLUDE} ${KBUILD_CPPFLAGS}" --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/205-backtrace_module_info.patch b/target/linux/generic/pending-4.9/205-backtrace_module_info.patch index e8a55cc391..03c14e048f 100644 --- a/target/linux/generic/pending-4.9/205-backtrace_module_info.patch +++ b/target/linux/generic/pending-4.9/205-backtrace_module_info.patch @@ -9,11 +9,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> lib/vsprintf.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) -diff --git a/lib/vsprintf.c b/lib/vsprintf.c -index 0967771d8f7f..5d27eae49198 100644 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c -@@ -669,8 +669,10 @@ char *symbol_string(char *buf, char *end, void *ptr, +@@ -669,8 +669,10 @@ char *symbol_string(char *buf, char *end struct printf_spec spec, const char *fmt) { unsigned long value; @@ -25,7 +23,7 @@ index 0967771d8f7f..5d27eae49198 100644 #endif if (fmt[1] == 'R') -@@ -684,11 +686,16 @@ char *symbol_string(char *buf, char *end, void *ptr, +@@ -684,11 +686,16 @@ char *symbol_string(char *buf, char *end sprint_symbol(sym, value); else sprint_symbol_no_offset(sym, value); @@ -45,6 +43,3 @@ index 0967771d8f7f..5d27eae49198 100644 } static noinline_for_stack --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/206-mips-disable-vdso.patch b/target/linux/generic/pending-4.9/206-mips-disable-vdso.patch index 9785f932e7..807d579044 100644 --- a/target/linux/generic/pending-4.9/206-mips-disable-vdso.patch +++ b/target/linux/generic/pending-4.9/206-mips-disable-vdso.patch @@ -7,8 +7,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> arch/mips/vdso/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile -index c3dc12a8b7d9..28f66e3bb2c3 100644 --- a/arch/mips/vdso/Makefile +++ b/arch/mips/vdso/Makefile @@ -28,9 +28,9 @@ aflags-vdso := $(ccflags-vdso) \ @@ -23,6 +21,3 @@ index c3dc12a8b7d9..28f66e3bb2c3 100644 endif # VDSO linker flags. --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/240-remove-unsane-filenames-from-deps_initramfs-list.patch b/target/linux/generic/pending-4.9/240-remove-unsane-filenames-from-deps_initramfs-list.patch index dd1404fbd6..5dc38edfb2 100644 --- a/target/linux/generic/pending-4.9/240-remove-unsane-filenames-from-deps_initramfs-list.patch +++ b/target/linux/generic/pending-4.9/240-remove-unsane-filenames-from-deps_initramfs-list.patch @@ -16,11 +16,9 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> usr/Makefile | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) -diff --git a/usr/Makefile b/usr/Makefile -index e767f019accf..17328d3c11cc 100644 --- a/usr/Makefile +++ b/usr/Makefile -@@ -53,6 +53,8 @@ ifneq ($(wildcard $(obj)/.initramfs_data.cpio.d),) +@@ -53,6 +53,8 @@ ifneq ($(wildcard $(obj)/.initramfs_data include $(obj)/.initramfs_data.cpio.d endif @@ -29,7 +27,7 @@ index e767f019accf..17328d3c11cc 100644 quiet_cmd_initfs = GEN $@ cmd_initfs = $(initramfs) -o $@ $(ramfs-args) $(ramfs-input) -@@ -61,14 +63,14 @@ targets := initramfs_data.cpio.gz initramfs_data.cpio.bz2 \ +@@ -61,14 +63,14 @@ targets := initramfs_data.cpio.gz initra initramfs_data.cpio.lzo initramfs_data.cpio.lz4 \ initramfs_data.cpio # do not try to update files included in initramfs @@ -47,6 +45,3 @@ index e767f019accf..17328d3c11cc 100644 +$(obj)/initramfs_data.cpio$(suffix_y): $(obj)/gen_init_cpio $(deps_initramfs_sane) klibcdirs $(Q)$(initramfs) -l $(ramfs-input) > $(obj)/.initramfs_data.cpio.d $(call if_changed,initfs) --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/261-enable_wilink_platform_without_drivers.patch b/target/linux/generic/pending-4.9/261-enable_wilink_platform_without_drivers.patch index 961fe6a302..9955ab3c0b 100644 --- a/target/linux/generic/pending-4.9/261-enable_wilink_platform_without_drivers.patch +++ b/target/linux/generic/pending-4.9/261-enable_wilink_platform_without_drivers.patch @@ -7,11 +7,9 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org> drivers/net/wireless/ti/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/net/wireless/ti/Kconfig b/drivers/net/wireless/ti/Kconfig -index 92fbd6597e34..3b1f951cacf7 100644 --- a/drivers/net/wireless/ti/Kconfig +++ b/drivers/net/wireless/ti/Kconfig -@@ -19,7 +19,7 @@ source "drivers/net/wireless/ti/wlcore/Kconfig" +@@ -19,7 +19,7 @@ source "drivers/net/wireless/ti/wlcore/K config WILINK_PLATFORM_DATA bool "TI WiLink platform data" @@ -20,6 +18,3 @@ index 92fbd6597e34..3b1f951cacf7 100644 default y ---help--- Small platform data bit needed to pass data to the sdio modules. --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/300-mips_expose_boot_raw.patch b/target/linux/generic/pending-4.9/300-mips_expose_boot_raw.patch index d7a3effa4c..cd58eb12e8 100644 --- a/target/linux/generic/pending-4.9/300-mips_expose_boot_raw.patch +++ b/target/linux/generic/pending-4.9/300-mips_expose_boot_raw.patch @@ -9,7 +9,7 @@ Acked-by: Rob Landley <rob@landley.net> --- --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -1065,9 +1065,6 @@ config FW_ARC +@@ -1064,9 +1064,6 @@ config FW_ARC config ARCH_MAY_HAVE_PC_FDC bool @@ -19,7 +19,7 @@ Acked-by: Rob Landley <rob@landley.net> config CEVT_BCM1480 bool -@@ -2964,6 +2961,18 @@ choice +@@ -2963,6 +2960,18 @@ choice bool "Extend builtin kernel arguments with bootloader arguments" endchoice diff --git a/target/linux/generic/pending-4.9/302-mips_no_branch_likely.patch b/target/linux/generic/pending-4.9/302-mips_no_branch_likely.patch index a7c26dfd1e..0e4600237d 100644 --- a/target/linux/generic/pending-4.9/302-mips_no_branch_likely.patch +++ b/target/linux/generic/pending-4.9/302-mips_no_branch_likely.patch @@ -9,11 +9,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> arch/mips/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/arch/mips/Makefile b/arch/mips/Makefile -index 1a6bac7b076f..5b656d9a1bbe 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile -@@ -90,7 +90,7 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlinuz +@@ -90,7 +90,7 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlin # machines may also. Since BFD is incredibly buggy with respect to # crossformat linking we rely on the elf2ecoff tool for format conversion. # @@ -22,6 +20,3 @@ index 1a6bac7b076f..5b656d9a1bbe 100644 cflags-y += -msoft-float LDFLAGS_vmlinux += -G 0 -static -n -nostdlib KBUILD_AFLAGS_MODULE += -mlong-calls --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/304-mips_disable_fpu.patch b/target/linux/generic/pending-4.9/304-mips_disable_fpu.patch index aac9c79da8..a2ec0760fe 100644 --- a/target/linux/generic/pending-4.9/304-mips_disable_fpu.patch +++ b/target/linux/generic/pending-4.9/304-mips_disable_fpu.patch @@ -24,7 +24,7 @@ v2: incorporated changes suggested by Jonas Gorski --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -2892,6 +2892,20 @@ config MIPS_O32_FP64_SUPPORT +@@ -2887,6 +2887,20 @@ config MIPS_O32_FP64_SUPPORT If unsure, say N. diff --git a/target/linux/generic/pending-4.9/305-mips_module_reloc.patch b/target/linux/generic/pending-4.9/305-mips_module_reloc.patch index f0776b205f..fc8015b5f6 100644 --- a/target/linux/generic/pending-4.9/305-mips_module_reloc.patch +++ b/target/linux/generic/pending-4.9/305-mips_module_reloc.patch @@ -9,11 +9,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> arch/mips/kernel/module.c | 279 ++++++++++++++++++++++++++++++++++++++++- 3 files changed, 284 insertions(+), 5 deletions(-) -diff --git a/arch/mips/Makefile b/arch/mips/Makefile -index 48dc1a9c3e42..77bf5db20d65 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile -@@ -93,8 +93,13 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlinuz +@@ -93,8 +93,13 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlin cflags-y += -G 0 -mno-abicalls -fno-pic -pipe -mno-branch-likely cflags-y += -msoft-float LDFLAGS_vmlinux += -G 0 -static -n -nostdlib @@ -27,8 +25,6 @@ index 48dc1a9c3e42..77bf5db20d65 100644 ifeq ($(CONFIG_RELOCATABLE),y) LDFLAGS_vmlinux += --emit-relocs -diff --git a/arch/mips/include/asm/module.h b/arch/mips/include/asm/module.h -index 702c273e67a9..1d4f3b37cefe 100644 --- a/arch/mips/include/asm/module.h +++ b/arch/mips/include/asm/module.h @@ -11,6 +11,11 @@ struct mod_arch_specific { @@ -43,8 +39,6 @@ index 702c273e67a9..1d4f3b37cefe 100644 }; typedef uint8_t Elf64_Byte; /* Type for a 8-bit quantity. */ -diff --git a/arch/mips/kernel/module.c b/arch/mips/kernel/module.c -index 94627a3a6a0d..947981a9aa72 100644 --- a/arch/mips/kernel/module.c +++ b/arch/mips/kernel/module.c @@ -44,14 +44,221 @@ struct mips_hi16 { @@ -270,7 +264,7 @@ index 94627a3a6a0d..947981a9aa72 100644 int apply_r_mips_none(struct module *me, u32 *location, Elf_Addr v) { -@@ -65,8 +272,39 @@ static int apply_r_mips_32_rel(struct module *me, u32 *location, Elf_Addr v) +@@ -65,8 +272,39 @@ static int apply_r_mips_32_rel(struct mo return 0; } @@ -310,7 +304,7 @@ index 94627a3a6a0d..947981a9aa72 100644 if (v % 4) { pr_err("module %s: dangerous R_MIPS_26 REL relocation\n", me->name); -@@ -74,13 +312,17 @@ static int apply_r_mips_26_rel(struct module *me, u32 *location, Elf_Addr v) +@@ -74,13 +312,17 @@ static int apply_r_mips_26_rel(struct mo } if ((v & 0xf0000000) != (((unsigned long)location + 4) & 0xf0000000)) { @@ -369,6 +363,3 @@ index 94627a3a6a0d..947981a9aa72 100644 void module_arch_cleanup(struct module *mod) { spin_lock_irq(&dbe_lock); --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/306-mips_mem_functions_performance.patch b/target/linux/generic/pending-4.9/306-mips_mem_functions_performance.patch index b3d319cbc4..2e404b2236 100644 --- a/target/linux/generic/pending-4.9/306-mips_mem_functions_performance.patch +++ b/target/linux/generic/pending-4.9/306-mips_mem_functions_performance.patch @@ -11,11 +11,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> 4 files changed, 63 insertions(+), 2 deletions(-) create mode 100644 arch/mips/lib/memcmp.c -diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile -index 90aca95fe314..3cd3b391ef49 100644 --- a/arch/mips/boot/compressed/Makefile +++ b/arch/mips/boot/compressed/Makefile -@@ -23,7 +23,8 @@ KBUILD_CFLAGS := $(shell echo $(KBUILD_CFLAGS) | sed -e "s/-pg//") +@@ -23,7 +23,8 @@ KBUILD_CFLAGS := $(shell echo $(KBUILD_C KBUILD_CFLAGS := $(filter-out -fstack-protector, $(KBUILD_CFLAGS)) KBUILD_CFLAGS := $(LINUXINCLUDE) $(KBUILD_CFLAGS) -D__KERNEL__ \ @@ -25,11 +23,9 @@ index 90aca95fe314..3cd3b391ef49 100644 KBUILD_AFLAGS := $(LINUXINCLUDE) $(KBUILD_AFLAGS) -D__ASSEMBLY__ \ -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) \ -diff --git a/arch/mips/include/asm/string.h b/arch/mips/include/asm/string.h -index 29030cb398ee..7b737f9b6d58 100644 --- a/arch/mips/include/asm/string.h +++ b/arch/mips/include/asm/string.h -@@ -140,4 +140,42 @@ extern void *memcpy(void *__to, __const__ void *__from, size_t __n); +@@ -140,4 +140,42 @@ extern void *memcpy(void *__to, __const_ #define __HAVE_ARCH_MEMMOVE extern void *memmove(void *__dest, __const__ void *__src, size_t __n); @@ -72,8 +68,6 @@ index 29030cb398ee..7b737f9b6d58 100644 +#endif + #endif /* _ASM_STRING_H */ -diff --git a/arch/mips/lib/Makefile b/arch/mips/lib/Makefile -index 0344e575f522..33a0211e954a 100644 --- a/arch/mips/lib/Makefile +++ b/arch/mips/lib/Makefile @@ -4,7 +4,7 @@ @@ -85,9 +79,6 @@ index 0344e575f522..33a0211e954a 100644 obj-y += iomap.o obj-$(CONFIG_PCI) += iomap-pci.o -diff --git a/arch/mips/lib/memcmp.c b/arch/mips/lib/memcmp.c -new file mode 100644 -index 000000000000..35ef1646286e --- /dev/null +++ b/arch/mips/lib/memcmp.c @@ -0,0 +1,22 @@ @@ -113,6 +104,3 @@ index 000000000000..35ef1646286e +} +EXPORT_SYMBOL(memcmp); + --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/307-mips_highmem_offset.patch b/target/linux/generic/pending-4.9/307-mips_highmem_offset.patch index 7f298fc2d3..0529b0c5c8 100644 --- a/target/linux/generic/pending-4.9/307-mips_highmem_offset.patch +++ b/target/linux/generic/pending-4.9/307-mips_highmem_offset.patch @@ -6,8 +6,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> arch/mips/include/asm/mach-generic/spaces.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/arch/mips/include/asm/mach-generic/spaces.h b/arch/mips/include/asm/mach-generic/spaces.h -index 952b0fdfda0e..fbb4e4cd4537 100644 --- a/arch/mips/include/asm/mach-generic/spaces.h +++ b/arch/mips/include/asm/mach-generic/spaces.h @@ -46,7 +46,7 @@ @@ -19,6 +17,3 @@ index 952b0fdfda0e..fbb4e4cd4537 100644 #endif #endif /* CONFIG_32BIT */ --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/308-mips32r2_tune.patch b/target/linux/generic/pending-4.9/308-mips32r2_tune.patch index 4814eebb23..63cf576bd8 100644 --- a/target/linux/generic/pending-4.9/308-mips32r2_tune.patch +++ b/target/linux/generic/pending-4.9/308-mips32r2_tune.patch @@ -9,11 +9,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> arch/mips/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/arch/mips/Makefile b/arch/mips/Makefile -index 77bf5db20d65..1ac83e281f90 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile -@@ -148,7 +148,7 @@ cflags-$(CONFIG_CPU_R4X00) += -march=r4600 -Wa,--trap +@@ -148,7 +148,7 @@ cflags-$(CONFIG_CPU_R4X00) += -march=r46 cflags-$(CONFIG_CPU_TX49XX) += -march=r4600 -Wa,--trap cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \ -Wa,-mips32 -Wa,--trap @@ -22,6 +20,3 @@ index 77bf5db20d65..1ac83e281f90 100644 -Wa,-mips32r2 -Wa,--trap cflags-$(CONFIG_CPU_MIPS32_R6) += -march=mips32r6 -Wa,--trap cflags-$(CONFIG_CPU_MIPS64_R1) += $(call cc-option,-march=mips64,-mips64 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \ --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/310-arm_module_unresolved_weak_sym.patch b/target/linux/generic/pending-4.9/310-arm_module_unresolved_weak_sym.patch index 8de2b9989f..cc1a51d17d 100644 --- a/target/linux/generic/pending-4.9/310-arm_module_unresolved_weak_sym.patch +++ b/target/linux/generic/pending-4.9/310-arm_module_unresolved_weak_sym.patch @@ -7,11 +7,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> arch/arm/kernel/module.c | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/arch/arm/kernel/module.c b/arch/arm/kernel/module.c -index 4f14b5ce6535..4b4b0461663f 100644 --- a/arch/arm/kernel/module.c +++ b/arch/arm/kernel/module.c -@@ -88,6 +88,10 @@ apply_relocate(Elf32_Shdr *sechdrs, const char *strtab, unsigned int symindex, +@@ -88,6 +88,10 @@ apply_relocate(Elf32_Shdr *sechdrs, cons return -ENOEXEC; } @@ -22,6 +20,3 @@ index 4f14b5ce6535..4b4b0461663f 100644 loc = dstsec->sh_addr + rel->r_offset; switch (ELF32_R_TYPE(rel->r_info)) { --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch b/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch index 9ca70e7892..cf8a54ff56 100644 --- a/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch +++ b/target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch @@ -9,8 +9,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> include/linux/mtd/partitions.h | 2 ++ 3 files changed, 54 insertions(+) -diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig -index 5a2d71729b9a..f5ac04e288eb 100644 --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig @@ -12,6 +12,23 @@ menuconfig MTD @@ -37,8 +35,6 @@ index 5a2d71729b9a..f5ac04e288eb 100644 config MTD_TESTS tristate "MTD tests support (DANGEROUS)" depends on m -diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c -index dd86b430e46e..33d152d1876a 100644 --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c @@ -29,10 +29,12 @@ @@ -63,7 +59,7 @@ index dd86b430e46e..33d152d1876a 100644 /* * Given a pointer to the MTD object in the mtd_part structure, we can retrieve * the pointer to that structure. -@@ -678,6 +682,7 @@ int mtd_add_partition(struct mtd_info *parent, const char *name, +@@ -678,6 +682,7 @@ int mtd_add_partition(struct mtd_info *p mutex_unlock(&mtd_partitions_mutex); add_mtd_device(&new->mtd); @@ -71,7 +67,7 @@ index dd86b430e46e..33d152d1876a 100644 mtd_add_partition_attrs(new); -@@ -756,6 +761,35 @@ int mtd_del_partition(struct mtd_info *mtd, int partno) +@@ -756,6 +761,35 @@ int mtd_del_partition(struct mtd_info *m } EXPORT_SYMBOL_GPL(mtd_del_partition); @@ -107,7 +103,7 @@ index dd86b430e46e..33d152d1876a 100644 /* * This function, given a master MTD object and a partition table, creates * and registers slave MTD objects which are bound to the master according to -@@ -787,6 +821,7 @@ int add_mtd_partitions(struct mtd_info *master, +@@ -787,6 +821,7 @@ int add_mtd_partitions(struct mtd_info * mutex_unlock(&mtd_partitions_mutex); add_mtd_device(&slave->mtd); @@ -115,11 +111,9 @@ index dd86b430e46e..33d152d1876a 100644 mtd_add_partition_attrs(slave); if (parts[i].types) mtd_parse_part(slave, parts[i].types); -diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h -index c4beb70dacbd..320a791290c5 100644 --- a/include/linux/mtd/partitions.h +++ b/include/linux/mtd/partitions.h -@@ -109,5 +109,7 @@ int mtd_add_partition(struct mtd_info *master, const char *name, +@@ -109,5 +109,7 @@ int mtd_add_partition(struct mtd_info *m long long offset, long long length); int mtd_del_partition(struct mtd_info *master, int partno); uint64_t mtd_get_device_size(const struct mtd_info *mtd); @@ -127,6 +121,3 @@ index c4beb70dacbd..320a791290c5 100644 + const char *name, int offset, int size); #endif --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch b/target/linux/generic/pending-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch index 466f315642..b78ff526ff 100644 --- a/target/linux/generic/pending-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch +++ b/target/linux/generic/pending-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch @@ -8,11 +8,9 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> include/linux/mtd/partitions.h | 2 ++ 2 files changed, 39 insertions(+) -diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c -index f20207e32075..28f76315dfa0 100644 --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -761,6 +761,36 @@ int mtd_del_partition(struct mtd_info *mtd, int partno) +@@ -761,6 +761,36 @@ int mtd_del_partition(struct mtd_info *m } EXPORT_SYMBOL_GPL(mtd_del_partition); @@ -57,7 +55,7 @@ index f20207e32075..28f76315dfa0 100644 } void __weak arch_split_mtd_part(struct mtd_info *master, const char *name, -@@ -783,6 +814,12 @@ static void mtd_partition_split(struct mtd_info *master, struct mtd_part *part) +@@ -783,6 +814,12 @@ static void mtd_partition_split(struct m if (rootfs_found) return; @@ -70,8 +68,6 @@ index f20207e32075..28f76315dfa0 100644 if (!strcmp(part->mtd.name, SPLIT_FIRMWARE_NAME) && IS_ENABLED(CONFIG_MTD_SPLIT_FIRMWARE)) split_firmware(master, part); -diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h -index baafd542432e..356e29815aa2 100644 --- a/include/linux/mtd/partitions.h +++ b/include/linux/mtd/partitions.h @@ -74,6 +74,8 @@ struct mtd_part_parser_data { @@ -83,6 +79,3 @@ index baafd542432e..356e29815aa2 100644 }; struct mtd_part_parser { --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/403-mtd-hook-mtdsplit-to-Kbuild.patch b/target/linux/generic/pending-4.9/403-mtd-hook-mtdsplit-to-Kbuild.patch index ded664c6f9..917cd9cafe 100644 --- a/target/linux/generic/pending-4.9/403-mtd-hook-mtdsplit-to-Kbuild.patch +++ b/target/linux/generic/pending-4.9/403-mtd-hook-mtdsplit-to-Kbuild.patch @@ -8,8 +8,6 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> drivers/mtd/Makefile | 2 ++ 2 files changed, 4 insertions(+) -diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig -index f5ac04e288eb..4185e04760dd 100644 --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig @@ -27,6 +27,8 @@ config MTD_SPLIT_FIRMWARE_NAME @@ -21,8 +19,6 @@ index f5ac04e288eb..4185e04760dd 100644 endmenu config MTD_TESTS -diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile -index 151d60df303a..48fd01e9f6e3 100644 --- a/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile @@ -6,6 +6,8 @@ @@ -34,6 +30,3 @@ index 151d60df303a..48fd01e9f6e3 100644 obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/404-mtd-add-more-helper-functions.patch b/target/linux/generic/pending-4.9/404-mtd-add-more-helper-functions.patch index 74e59e09ba..8e9604fb7d 100644 --- a/target/linux/generic/pending-4.9/404-mtd-add-more-helper-functions.patch +++ b/target/linux/generic/pending-4.9/404-mtd-add-more-helper-functions.patch @@ -9,11 +9,9 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> include/linux/mtd/partitions.h | 2 ++ 3 files changed, 49 insertions(+) -diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c -index 28f76315dfa0..fce83882fd4e 100644 --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -791,6 +791,17 @@ run_parsers_by_type(struct mtd_part *slave, enum mtd_parser_type type) +@@ -791,6 +791,17 @@ run_parsers_by_type(struct mtd_part *sla return nr_parts; } @@ -31,7 +29,7 @@ index 28f76315dfa0..fce83882fd4e 100644 #ifdef CONFIG_MTD_SPLIT_FIRMWARE_NAME #define SPLIT_FIRMWARE_NAME CONFIG_MTD_SPLIT_FIRMWARE_NAME #else -@@ -1146,6 +1157,24 @@ int mtd_is_partition(const struct mtd_info *mtd) +@@ -1146,6 +1157,24 @@ int mtd_is_partition(const struct mtd_in } EXPORT_SYMBOL_GPL(mtd_is_partition); @@ -56,11 +54,9 @@ index 28f76315dfa0..fce83882fd4e 100644 /* Returns the size of the entire flash chip */ uint64_t mtd_get_device_size(const struct mtd_info *mtd) { -diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h -index 5bb42c6dacdc..e7d5091bb447 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h -@@ -485,6 +485,24 @@ static inline uint32_t mtd_mod_by_eb(uint64_t sz, struct mtd_info *mtd) +@@ -485,6 +485,24 @@ static inline uint32_t mtd_mod_by_eb(uin return do_div(sz, mtd->erasesize); } @@ -85,11 +81,9 @@ index 5bb42c6dacdc..e7d5091bb447 100644 static inline uint32_t mtd_div_by_ws(uint64_t sz, struct mtd_info *mtd) { if (mtd->writesize_shift) -diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h -index 356e29815aa2..c0937ff4797b 100644 --- a/include/linux/mtd/partitions.h +++ b/include/linux/mtd/partitions.h -@@ -114,6 +114,8 @@ int mtd_is_partition(const struct mtd_info *mtd); +@@ -114,6 +114,8 @@ int mtd_is_partition(const struct mtd_in int mtd_add_partition(struct mtd_info *master, const char *name, long long offset, long long length); int mtd_del_partition(struct mtd_info *master, int partno); @@ -98,6 +92,3 @@ index 356e29815aa2..c0937ff4797b 100644 uint64_t mtd_get_device_size(const struct mtd_info *mtd); extern void __weak arch_split_mtd_part(struct mtd_info *master, const char *name, int offset, int size); --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/411-mtd-partial_eraseblock_write.patch b/target/linux/generic/pending-4.9/411-mtd-partial_eraseblock_write.patch index 307445fffa..6c03a29842 100644 --- a/target/linux/generic/pending-4.9/411-mtd-partial_eraseblock_write.patch +++ b/target/linux/generic/pending-4.9/411-mtd-partial_eraseblock_write.patch @@ -8,8 +8,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> include/linux/mtd/mtd.h | 4 +++ 2 files changed, 85 insertions(+), 9 deletions(-) -diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c -index fce83882fd4e..0238b0babe2f 100644 --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c @@ -36,6 +36,8 @@ @@ -21,7 +19,7 @@ index fce83882fd4e..0238b0babe2f 100644 /* Our partition linked list */ static LIST_HEAD(mtd_partitions); static DEFINE_MUTEX(mtd_partitions_mutex); -@@ -241,13 +243,61 @@ static int part_erase(struct mtd_info *mtd, struct erase_info *instr) +@@ -241,13 +243,61 @@ static int part_erase(struct mtd_info *m struct mtd_part *part = mtd_to_part(mtd); int ret; @@ -83,7 +81,7 @@ index fce83882fd4e..0238b0babe2f 100644 return ret; } -@@ -255,6 +305,25 @@ void mtd_erase_callback(struct erase_info *instr) +@@ -255,6 +305,25 @@ void mtd_erase_callback(struct erase_inf { if (instr->mtd->_erase == part_erase) { struct mtd_part *part = mtd_to_part(instr->mtd); @@ -109,7 +107,7 @@ index fce83882fd4e..0238b0babe2f 100644 if (instr->fail_addr != MTD_FAIL_ADDR_UNKNOWN) instr->fail_addr -= part->offset; -@@ -590,19 +659,22 @@ static struct mtd_part *allocate_partition(struct mtd_info *parent, +@@ -590,19 +659,22 @@ static struct mtd_part *allocate_partiti remainder = do_div(tmp, wr_alignment); if ((slave->mtd.flags & MTD_WRITEABLE) && remainder) { /* Doesn't start on a boundary of major erase size */ @@ -141,8 +139,6 @@ index fce83882fd4e..0238b0babe2f 100644 } mtd_set_ooblayout(&slave->mtd, &part_ooblayout_ops); -diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h -index e7d5091bb447..0db85491f085 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h @@ -55,6 +55,10 @@ struct erase_info { @@ -156,6 +152,3 @@ index e7d5091bb447..0db85491f085 100644 }; struct mtd_erase_region_info { --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/412-mtd-partial_eraseblock_unlock.patch b/target/linux/generic/pending-4.9/412-mtd-partial_eraseblock_unlock.patch index 8969de504c..fd6ffc6fa9 100644 --- a/target/linux/generic/pending-4.9/412-mtd-partial_eraseblock_unlock.patch +++ b/target/linux/generic/pending-4.9/412-mtd-partial_eraseblock_unlock.patch @@ -18,11 +18,9 @@ Signed-off-by: Tim Harvey <tharvey@gateworks.com> drivers/mtd/mtdpart.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) -diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c -index 0238b0babe2f..d41418524833 100644 --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -343,7 +343,16 @@ static int part_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len) +@@ -343,7 +343,16 @@ static int part_lock(struct mtd_info *mt static int part_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len) { struct mtd_part *part = mtd_to_part(mtd); @@ -40,6 +38,3 @@ index 0238b0babe2f..d41418524833 100644 } static int part_is_locked(struct mtd_info *mtd, loff_t ofs, uint64_t len) --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/420-mtd-redboot_space.patch b/target/linux/generic/pending-4.9/420-mtd-redboot_space.patch index acd3af20d8..85fbe0512d 100644 --- a/target/linux/generic/pending-4.9/420-mtd-redboot_space.patch +++ b/target/linux/generic/pending-4.9/420-mtd-redboot_space.patch @@ -9,11 +9,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> drivers/mtd/redboot.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) -diff --git a/drivers/mtd/redboot.c b/drivers/mtd/redboot.c -index 7623ac5fc586..181ea0fb3c91 100644 --- a/drivers/mtd/redboot.c +++ b/drivers/mtd/redboot.c -@@ -265,14 +265,21 @@ static int parse_redboot_partitions(struct mtd_info *master, +@@ -265,14 +265,21 @@ static int parse_redboot_partitions(stru #endif names += strlen(names)+1; @@ -41,6 +39,3 @@ index 7623ac5fc586..181ea0fb3c91 100644 tmp_fl = fl; fl = fl->next; kfree(tmp_fl); --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/430-mtd-add-myloader-partition-parser.patch b/target/linux/generic/pending-4.9/430-mtd-add-myloader-partition-parser.patch index c3a44aea18..eb969a0d91 100644 --- a/target/linux/generic/pending-4.9/430-mtd-add-myloader-partition-parser.patch +++ b/target/linux/generic/pending-4.9/430-mtd-add-myloader-partition-parser.patch @@ -10,8 +10,6 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> drivers/mtd/Makefile | 1 + 2 files changed, 17 insertions(+) -diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig -index 4185e04760dd..cb55144d4db6 100644 --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig @@ -178,6 +178,22 @@ menu "Partition parsers" @@ -37,8 +35,6 @@ index 4185e04760dd..cb55144d4db6 100644 comment "User Modules And Translation Layers" # -diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile -index 48fd01e9f6e3..5bca69c63bdc 100644 --- a/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile @@ -15,6 +15,7 @@ obj-$(CONFIG_MTD_AFS_PARTS) += afs.o @@ -49,6 +45,3 @@ index 48fd01e9f6e3..5bca69c63bdc 100644 obj-y += parsers/ # 'Users' - code which presents functionality to userspace. --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/440-block2mtd_init.patch b/target/linux/generic/pending-4.9/440-block2mtd_init.patch index acb94cd278..8834788732 100644 --- a/target/linux/generic/pending-4.9/440-block2mtd_init.patch +++ b/target/linux/generic/pending-4.9/440-block2mtd_init.patch @@ -6,8 +6,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> drivers/mtd/devices/block2mtd.c | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) -diff --git a/drivers/mtd/devices/block2mtd.c b/drivers/mtd/devices/block2mtd.c -index 7c887f111a7d..22135cc48879 100644 --- a/drivers/mtd/devices/block2mtd.c +++ b/drivers/mtd/devices/block2mtd.c @@ -26,6 +26,7 @@ @@ -18,7 +16,7 @@ index 7c887f111a7d..22135cc48879 100644 #include <linux/mutex.h> #include <linux/mount.h> #include <linux/slab.h> -@@ -219,7 +220,7 @@ static void block2mtd_free_device(struct block2mtd_dev *dev) +@@ -219,7 +220,7 @@ static void block2mtd_free_device(struct static struct block2mtd_dev *add_device(char *devname, int erase_size, @@ -27,7 +25,7 @@ index 7c887f111a7d..22135cc48879 100644 { #ifndef MODULE int i; -@@ -227,6 +228,7 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size, +@@ -227,6 +228,7 @@ static struct block2mtd_dev *add_device( const fmode_t mode = FMODE_READ | FMODE_WRITE | FMODE_EXCL; struct block_device *bdev = ERR_PTR(-ENODEV); struct block2mtd_dev *dev; @@ -35,7 +33,7 @@ index 7c887f111a7d..22135cc48879 100644 char *name; if (!devname) -@@ -283,13 +285,16 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size, +@@ -283,13 +285,16 @@ static struct block2mtd_dev *add_device( /* Setup the MTD structure */ /* make the name contain the block device in */ @@ -54,7 +52,7 @@ index 7c887f111a7d..22135cc48879 100644 dev->mtd.erasesize = erase_size; dev->mtd.writesize = 1; dev->mtd.writebufsize = PAGE_SIZE; -@@ -302,7 +307,11 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size, +@@ -302,7 +307,11 @@ static struct block2mtd_dev *add_device( dev->mtd.priv = dev; dev->mtd.owner = THIS_MODULE; @@ -67,7 +65,7 @@ index 7c887f111a7d..22135cc48879 100644 /* Device didn't get added, so free the entry */ goto err_destroy_mutex; } -@@ -310,8 +319,7 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size, +@@ -310,8 +319,7 @@ static struct block2mtd_dev *add_device( list_add(&dev->list, &blkmtd_device_list); pr_info("mtd%d: [%s] erase_size = %dKiB [%d]\n", dev->mtd.index, @@ -77,7 +75,7 @@ index 7c887f111a7d..22135cc48879 100644 return dev; err_destroy_mutex: -@@ -384,7 +392,7 @@ static int block2mtd_setup2(const char *val) +@@ -384,7 +392,7 @@ static int block2mtd_setup2(const char * /* 80 for device, 12 for erase size, 80 for name, 8 for timeout */ char buf[80 + 12 + 80 + 8]; char *str = buf; @@ -86,7 +84,7 @@ index 7c887f111a7d..22135cc48879 100644 char *name; size_t erase_size = PAGE_SIZE; unsigned long timeout = MTD_DEFAULT_TIMEOUT; -@@ -398,7 +406,7 @@ static int block2mtd_setup2(const char *val) +@@ -398,7 +406,7 @@ static int block2mtd_setup2(const char * strcpy(str, val); kill_final_newline(str); @@ -95,7 +93,7 @@ index 7c887f111a7d..22135cc48879 100644 token[i] = strsep(&str, ","); if (str) { -@@ -424,8 +432,10 @@ static int block2mtd_setup2(const char *val) +@@ -424,8 +432,10 @@ static int block2mtd_setup2(const char * return 0; } } @@ -107,7 +105,7 @@ index 7c887f111a7d..22135cc48879 100644 return 0; } -@@ -459,7 +469,7 @@ static int block2mtd_setup(const char *val, struct kernel_param *kp) +@@ -459,7 +469,7 @@ static int block2mtd_setup(const char *v module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200); @@ -116,6 +114,3 @@ index 7c887f111a7d..22135cc48879 100644 static int __init block2mtd_init(void) { --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/441-block2mtd_probe.patch b/target/linux/generic/pending-4.9/441-block2mtd_probe.patch index 11ff292aa7..fee970ab61 100644 --- a/target/linux/generic/pending-4.9/441-block2mtd_probe.patch +++ b/target/linux/generic/pending-4.9/441-block2mtd_probe.patch @@ -6,11 +6,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> drivers/mtd/devices/block2mtd.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) -diff --git a/drivers/mtd/devices/block2mtd.c b/drivers/mtd/devices/block2mtd.c -index 22135cc48879..9865041c347b 100644 --- a/drivers/mtd/devices/block2mtd.c +++ b/drivers/mtd/devices/block2mtd.c -@@ -392,7 +392,7 @@ static int block2mtd_setup2(const char *val) +@@ -392,7 +392,7 @@ static int block2mtd_setup2(const char * /* 80 for device, 12 for erase size, 80 for name, 8 for timeout */ char buf[80 + 12 + 80 + 8]; char *str = buf; @@ -19,7 +17,7 @@ index 22135cc48879..9865041c347b 100644 char *name; size_t erase_size = PAGE_SIZE; unsigned long timeout = MTD_DEFAULT_TIMEOUT; -@@ -406,7 +406,7 @@ static int block2mtd_setup2(const char *val) +@@ -406,7 +406,7 @@ static int block2mtd_setup2(const char * strcpy(str, val); kill_final_newline(str); @@ -28,7 +26,7 @@ index 22135cc48879..9865041c347b 100644 token[i] = strsep(&str, ","); if (str) { -@@ -435,6 +435,9 @@ static int block2mtd_setup2(const char *val) +@@ -435,6 +435,9 @@ static int block2mtd_setup2(const char * if (token[2] && (strlen(token[2]) + 1 > 80)) pr_err("mtd device name too long\n"); @@ -38,7 +36,7 @@ index 22135cc48879..9865041c347b 100644 add_device(name, erase_size, token[2], timeout); return 0; -@@ -469,7 +472,7 @@ static int block2mtd_setup(const char *val, struct kernel_param *kp) +@@ -469,7 +472,7 @@ static int block2mtd_setup(const char *v module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200); @@ -47,6 +45,3 @@ index 22135cc48879..9865041c347b 100644 static int __init block2mtd_init(void) { --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch b/target/linux/generic/pending-4.9/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch index 3cabff37f1..c52d7de762 100644 --- a/target/linux/generic/pending-4.9/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch +++ b/target/linux/generic/pending-4.9/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch @@ -12,11 +12,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> drivers/mtd/chips/cfi_cmdset_0002.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/drivers/mtd/chips/cfi_cmdset_0002.c b/drivers/mtd/chips/cfi_cmdset_0002.c -index 9dca881bb378..ea4db1917334 100644 --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -807,7 +807,7 @@ static int get_chip(struct map_info *map, struct flchip *chip, unsigned long adr +@@ -807,7 +807,7 @@ static int get_chip(struct map_info *map return 0; case FL_ERASING: @@ -25,6 +23,3 @@ index 9dca881bb378..ea4db1917334 100644 !(mode == FL_READY || mode == FL_POINT || (mode == FL_WRITING && (cfip->EraseSuspend & 0x2)))) goto sleep; --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/465-m25p80-mx-disable-software-protection.patch b/target/linux/generic/pending-4.9/465-m25p80-mx-disable-software-protection.patch index a4bad532f7..9b90b9bc7e 100644 --- a/target/linux/generic/pending-4.9/465-m25p80-mx-disable-software-protection.patch +++ b/target/linux/generic/pending-4.9/465-m25p80-mx-disable-software-protection.patch @@ -6,11 +6,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> drivers/mtd/spi-nor/spi-nor.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c -index 54868b19bf32..30adbc34ccac 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -1588,6 +1588,7 @@ int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode) +@@ -1595,6 +1595,7 @@ int spi_nor_scan(struct spi_nor *nor, co if (JEDEC_MFR(info) == SNOR_MFR_ATMEL || JEDEC_MFR(info) == SNOR_MFR_INTEL || @@ -18,6 +16,3 @@ index 54868b19bf32..30adbc34ccac 100644 JEDEC_MFR(info) == SNOR_MFR_SST || info->flags & SPI_NOR_HAS_LOCK) { write_enable(nor); --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/476-mtd-spi-nor-add-eon-en25q128.patch b/target/linux/generic/pending-4.9/476-mtd-spi-nor-add-eon-en25q128.patch index 3a5e24e617..ac1fda5159 100644 --- a/target/linux/generic/pending-4.9/476-mtd-spi-nor-add-eon-en25q128.patch +++ b/target/linux/generic/pending-4.9/476-mtd-spi-nor-add-eon-en25q128.patch @@ -6,11 +6,9 @@ Signed-off-by: Piotr Dymacz <pepe2k@gmail.com> drivers/mtd/spi-nor/spi-nor.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c -index 30adbc34ccac..8c0ad628ddc6 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -954,6 +954,7 @@ static const struct flash_info spi_nor_ids[] = { +@@ -954,6 +954,7 @@ static const struct flash_info spi_nor_i { "en25q32b", INFO(0x1c3016, 0, 64 * 1024, 64, 0) }, { "en25p64", INFO(0x1c2017, 0, 64 * 1024, 128, 0) }, { "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) }, @@ -18,6 +16,3 @@ index 30adbc34ccac..8c0ad628ddc6 100644 { "en25qh128", INFO(0x1c7018, 0, 64 * 1024, 256, 0) }, { "en25qh256", INFO(0x1c7019, 0, 64 * 1024, 512, 0) }, { "en25s64", INFO(0x1c3817, 0, 64 * 1024, 128, SECT_4K) }, --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/477-mtd-add-spi-nor-add-mx25u3235f.patch b/target/linux/generic/pending-4.9/477-mtd-add-spi-nor-add-mx25u3235f.patch index abeb69ab10..9f044027d9 100644 --- a/target/linux/generic/pending-4.9/477-mtd-add-spi-nor-add-mx25u3235f.patch +++ b/target/linux/generic/pending-4.9/477-mtd-add-spi-nor-add-mx25u3235f.patch @@ -6,11 +6,9 @@ Signed-off-by: André Valentin <avalentin@marcant.net> drivers/mtd/spi-nor/spi-nor.c | 1 + 1 file changed, 1 insertion(+) -diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c -index 8c0ad628ddc6..5288fcfbdb3b 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c -@@ -1014,6 +1014,7 @@ static const struct flash_info spi_nor_ids[] = { +@@ -1014,6 +1014,7 @@ static const struct flash_info spi_nor_i { "mx25l3205d", INFO(0xc22016, 0, 64 * 1024, 64, SECT_4K) }, { "mx25l3255e", INFO(0xc29e16, 0, 64 * 1024, 64, SECT_4K) }, { "mx25l6405d", INFO(0xc22017, 0, 64 * 1024, 128, SECT_4K) }, @@ -18,6 +16,3 @@ index 8c0ad628ddc6..5288fcfbdb3b 100644 { "mx25u6435f", INFO(0xc22537, 0, 64 * 1024, 128, SECT_4K) }, { "mx25l12805d", INFO(0xc22018, 0, 64 * 1024, 256, 0) }, { "mx25l12855e", INFO(0xc22618, 0, 64 * 1024, 256, 0) }, --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/480-mtd-set-rootfs-to-be-root-dev.patch b/target/linux/generic/pending-4.9/480-mtd-set-rootfs-to-be-root-dev.patch index 62cf4eb2e2..1bc958c2f7 100644 --- a/target/linux/generic/pending-4.9/480-mtd-set-rootfs-to-be-root-dev.patch +++ b/target/linux/generic/pending-4.9/480-mtd-set-rootfs-to-be-root-dev.patch @@ -10,8 +10,6 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> drivers/mtd/mtdcore.c | 10 ++++++++++ 1 file changed, 10 insertions(+) -diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c -index d46e4adf6d2b..4d62d898dadc 100644 --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c @@ -40,6 +40,7 @@ @@ -38,6 +36,3 @@ index d46e4adf6d2b..4d62d898dadc 100644 return 0; fail_added: --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/494-mtd-ubi-add-EOF-marker-support.patch b/target/linux/generic/pending-4.9/494-mtd-ubi-add-EOF-marker-support.patch index b681fc6a07..c6ba444b4d 100644 --- a/target/linux/generic/pending-4.9/494-mtd-ubi-add-EOF-marker-support.patch +++ b/target/linux/generic/pending-4.9/494-mtd-ubi-add-EOF-marker-support.patch @@ -7,8 +7,6 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> drivers/mtd/ubi/ubi.h | 1 + 2 files changed, 23 insertions(+), 3 deletions(-) -diff --git a/drivers/mtd/ubi/attach.c b/drivers/mtd/ubi/attach.c -index 93ceea4f27d5..a4f849d69104 100644 --- a/drivers/mtd/ubi/attach.c +++ b/drivers/mtd/ubi/attach.c @@ -939,6 +939,13 @@ static bool vol_ignored(int vol_id) @@ -25,7 +23,7 @@ index 93ceea4f27d5..a4f849d69104 100644 /** * scan_peb - scan and process UBI headers of a PEB. * @ubi: UBI device description object -@@ -971,9 +978,21 @@ static int scan_peb(struct ubi_device *ubi, struct ubi_attach_info *ai, +@@ -971,9 +978,21 @@ static int scan_peb(struct ubi_device *u return 0; } @@ -50,8 +48,6 @@ index 93ceea4f27d5..a4f849d69104 100644 switch (err) { case 0: break; -diff --git a/drivers/mtd/ubi/ubi.h b/drivers/mtd/ubi/ubi.h -index 697dbcba7371..92d207ff2458 100644 --- a/drivers/mtd/ubi/ubi.h +++ b/drivers/mtd/ubi/ubi.h @@ -779,6 +779,7 @@ struct ubi_attach_info { @@ -62,6 +58,3 @@ index 697dbcba7371..92d207ff2458 100644 struct kmem_cache *aeb_slab_cache; struct ubi_ec_hdr *ech; struct ubi_vid_io_buf *vidb; --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/530-jffs2_make_lzma_available.patch b/target/linux/generic/pending-4.9/530-jffs2_make_lzma_available.patch index d7f879b49e..8f68fed50c 100644 --- a/target/linux/generic/pending-4.9/530-jffs2_make_lzma_available.patch +++ b/target/linux/generic/pending-4.9/530-jffs2_make_lzma_available.patch @@ -36,8 +36,6 @@ Signed-off-by: Alexandros C. Couloumbis <alex@ozo.com> create mode 100644 lib/lzma/LzmaEnc.c create mode 100644 lib/lzma/Makefile -diff --git a/fs/jffs2/Kconfig b/fs/jffs2/Kconfig -index d8bb6c411e96..74bf4b162e36 100644 --- a/fs/jffs2/Kconfig +++ b/fs/jffs2/Kconfig @@ -139,6 +139,15 @@ config JFFS2_LZO @@ -56,11 +54,9 @@ index d8bb6c411e96..74bf4b162e36 100644 config JFFS2_RTIME bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS depends on JFFS2_FS -diff --git a/fs/jffs2/Makefile b/fs/jffs2/Makefile -index 60e5d49ca03e..23ba6efd1f3f 100644 --- a/fs/jffs2/Makefile +++ b/fs/jffs2/Makefile -@@ -18,4 +18,7 @@ jffs2-$(CONFIG_JFFS2_RUBIN) += compr_rubin.o +@@ -18,4 +18,7 @@ jffs2-$(CONFIG_JFFS2_RUBIN) += compr_rub jffs2-$(CONFIG_JFFS2_RTIME) += compr_rtime.o jffs2-$(CONFIG_JFFS2_ZLIB) += compr_zlib.o jffs2-$(CONFIG_JFFS2_LZO) += compr_lzo.o @@ -68,8 +64,6 @@ index 60e5d49ca03e..23ba6efd1f3f 100644 jffs2-$(CONFIG_JFFS2_SUMMARY) += summary.o + +CFLAGS_compr_lzma.o += -Iinclude/linux -Ilib/lzma -diff --git a/fs/jffs2/compr.c b/fs/jffs2/compr.c -index 4849a4c9a0e2..6ec806abb7b9 100644 --- a/fs/jffs2/compr.c +++ b/fs/jffs2/compr.c @@ -378,6 +378,9 @@ int __init jffs2_compressors_init(void) @@ -92,8 +86,6 @@ index 4849a4c9a0e2..6ec806abb7b9 100644 #ifdef CONFIG_JFFS2_LZO jffs2_lzo_exit(); #endif -diff --git a/fs/jffs2/compr.h b/fs/jffs2/compr.h -index 5e91d578f4ed..32db2e1ec610 100644 --- a/fs/jffs2/compr.h +++ b/fs/jffs2/compr.h @@ -29,9 +29,9 @@ @@ -119,9 +111,6 @@ index 5e91d578f4ed..32db2e1ec610 100644 +#endif #endif /* __JFFS2_COMPR_H__ */ -diff --git a/fs/jffs2/compr_lzma.c b/fs/jffs2/compr_lzma.c -new file mode 100644 -index 000000000000..0fe3b75d7dcc --- /dev/null +++ b/fs/jffs2/compr_lzma.c @@ -0,0 +1,128 @@ @@ -253,8 +242,6 @@ index 000000000000..0fe3b75d7dcc + jffs2_unregister_compressor(&jffs2_lzma_comp); + lzma_free_workspace(); +} -diff --git a/fs/jffs2/super.c b/fs/jffs2/super.c -index 5ef21f4c4c77..62e730216e7d 100644 --- a/fs/jffs2/super.c +++ b/fs/jffs2/super.c @@ -372,14 +372,41 @@ static int __init init_jffs2_fs(void) @@ -302,9 +289,6 @@ index 5ef21f4c4c77..62e730216e7d 100644 jffs2_inode_cachep = kmem_cache_create("jffs2_i", sizeof(struct jffs2_inode_info), -diff --git a/include/linux/lzma.h b/include/linux/lzma.h -new file mode 100644 -index 000000000000..5f31334dfc31 --- /dev/null +++ b/include/linux/lzma.h @@ -0,0 +1,62 @@ @@ -370,9 +354,6 @@ index 000000000000..5f31334dfc31 +static ISzAlloc lzma_alloc = {p_lzma_malloc, p_lzma_free}; + +#endif -diff --git a/include/linux/lzma/LzFind.h b/include/linux/lzma/LzFind.h -new file mode 100644 -index 000000000000..010c4b92ba33 --- /dev/null +++ b/include/linux/lzma/LzFind.h @@ -0,0 +1,115 @@ @@ -491,9 +472,6 @@ index 000000000000..010c4b92ba33 +#endif + +#endif -diff --git a/include/linux/lzma/LzHash.h b/include/linux/lzma/LzHash.h -new file mode 100644 -index 000000000000..f3e89966cc70 --- /dev/null +++ b/include/linux/lzma/LzHash.h @@ -0,0 +1,54 @@ @@ -551,9 +529,6 @@ index 000000000000..f3e89966cc70 + hash4Value = (temp ^ ((UInt32)cur[2] << 8) ^ (p->crc[cur[3]] << 5)) & (kHash4Size - 1); } + +#endif -diff --git a/include/linux/lzma/LzmaDec.h b/include/linux/lzma/LzmaDec.h -new file mode 100644 -index 000000000000..bf7f084ba3dd --- /dev/null +++ b/include/linux/lzma/LzmaDec.h @@ -0,0 +1,231 @@ @@ -788,9 +763,6 @@ index 000000000000..bf7f084ba3dd +#endif + +#endif -diff --git a/include/linux/lzma/LzmaEnc.h b/include/linux/lzma/LzmaEnc.h -new file mode 100644 -index 000000000000..200d60eb83cd --- /dev/null +++ b/include/linux/lzma/LzmaEnc.h @@ -0,0 +1,80 @@ @@ -874,9 +846,6 @@ index 000000000000..200d60eb83cd +#endif + +#endif -diff --git a/include/linux/lzma/Types.h b/include/linux/lzma/Types.h -new file mode 100644 -index 000000000000..4751acde0722 --- /dev/null +++ b/include/linux/lzma/Types.h @@ -0,0 +1,226 @@ @@ -1106,8 +1075,6 @@ index 000000000000..4751acde0722 +EXTERN_C_END + +#endif -diff --git a/include/uapi/linux/jffs2.h b/include/uapi/linux/jffs2.h -index a18b719f49d4..f3431a5ff4ff 100644 --- a/include/uapi/linux/jffs2.h +++ b/include/uapi/linux/jffs2.h @@ -46,6 +46,7 @@ @@ -1118,8 +1085,6 @@ index a18b719f49d4..f3431a5ff4ff 100644 /* Compatibility flags. */ #define JFFS2_COMPAT_MASK 0xc000 /* What do to if an unknown nodetype is found */ #define JFFS2_NODE_ACCURATE 0x2000 -diff --git a/lib/Kconfig b/lib/Kconfig -index 260a80e313b9..2e20b2b1ba02 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -241,6 +241,12 @@ config LZ4_DECOMPRESS @@ -1135,8 +1100,6 @@ index 260a80e313b9..2e20b2b1ba02 100644 # # These all provide a common interface (hence the apparent duplication with # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) -diff --git a/lib/Makefile b/lib/Makefile -index 50144a3aeebd..603630df298d 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -2,6 +2,16 @@ @@ -1165,9 +1128,6 @@ index 50144a3aeebd..603630df298d 100644 lib-$(CONFIG_DECOMPRESS_GZIP) += decompress_inflate.o lib-$(CONFIG_DECOMPRESS_BZIP2) += decompress_bunzip2.o -diff --git a/lib/lzma/LzFind.c b/lib/lzma/LzFind.c -new file mode 100644 -index 000000000000..e3ecb05420eb --- /dev/null +++ b/lib/lzma/LzFind.c @@ -0,0 +1,761 @@ @@ -1932,9 +1892,6 @@ index 000000000000..e3ecb05420eb + vTable->Skip = (Mf_Skip_Func)Bt4_MatchFinder_Skip; + } +} -diff --git a/lib/lzma/LzmaDec.c b/lib/lzma/LzmaDec.c -new file mode 100644 -index 000000000000..2036761bf146 --- /dev/null +++ b/lib/lzma/LzmaDec.c @@ -0,0 +1,999 @@ @@ -2937,9 +2894,6 @@ index 000000000000..2036761bf146 + LzmaDec_FreeProbs(&p, alloc); + return res; +} -diff --git a/lib/lzma/LzmaEnc.c b/lib/lzma/LzmaEnc.c -new file mode 100644 -index 000000000000..6dadf00dfab2 --- /dev/null +++ b/lib/lzma/LzmaEnc.c @@ -0,0 +1,2271 @@ @@ -5214,9 +5168,6 @@ index 000000000000..6dadf00dfab2 + LzmaEnc_Destroy(p, alloc, allocBig); + return res; +} -diff --git a/lib/lzma/Makefile b/lib/lzma/Makefile -new file mode 100644 -index 000000000000..02e799c99381 --- /dev/null +++ b/lib/lzma/Makefile @@ -0,0 +1,7 @@ @@ -5227,6 +5178,3 @@ index 000000000000..02e799c99381 +obj-$(CONFIG_LZMA_DECOMPRESS) += lzma_decompress.o + +EXTRA_CFLAGS += -Iinclude/linux -Iinclude/linux/lzma -include types.h --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/532-jffs2_eofdetect.patch b/target/linux/generic/pending-4.9/532-jffs2_eofdetect.patch index 3fc61c8cff..e9952c6d84 100644 --- a/target/linux/generic/pending-4.9/532-jffs2_eofdetect.patch +++ b/target/linux/generic/pending-4.9/532-jffs2_eofdetect.patch @@ -7,11 +7,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> fs/jffs2/scan.c | 21 +++++++++++++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) -diff --git a/fs/jffs2/build.c b/fs/jffs2/build.c -index b288c8ae1236..e768f9d41661 100644 --- a/fs/jffs2/build.c +++ b/fs/jffs2/build.c -@@ -117,6 +117,16 @@ static int jffs2_build_filesystem(struct jffs2_sb_info *c) +@@ -117,6 +117,16 @@ static int jffs2_build_filesystem(struct dbg_fsbuild("scanned flash completely\n"); jffs2_dbg_dump_block_lists_nolock(c); @@ -28,11 +26,9 @@ index b288c8ae1236..e768f9d41661 100644 dbg_fsbuild("pass 1 starting\n"); c->flags |= JFFS2_SB_FLAG_BUILDING; /* Now scan the directory tree, increasing nlink according to every dirent found. */ -diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c -index 90431dd613b8..8c78ab19cdab 100644 --- a/fs/jffs2/scan.c +++ b/fs/jffs2/scan.c -@@ -148,8 +148,14 @@ int jffs2_scan_medium(struct jffs2_sb_info *c) +@@ -148,8 +148,14 @@ int jffs2_scan_medium(struct jffs2_sb_in /* reset summary info for next eraseblock scan */ jffs2_sum_reset_collected(s); @@ -49,7 +45,7 @@ index 90431dd613b8..8c78ab19cdab 100644 if (ret < 0) goto out; -@@ -561,6 +567,17 @@ static int jffs2_scan_eraseblock (struct jffs2_sb_info *c, struct jffs2_eraseblo +@@ -561,6 +567,17 @@ full_scan: return err; } @@ -67,6 +63,3 @@ index 90431dd613b8..8c78ab19cdab 100644 /* We temporarily use 'ofs' as a pointer into the buffer/jeb */ ofs = 0; max_ofs = EMPTY_SCAN_SIZE(c->sector_size); --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/551-ubifs-fix-default-compression-selection.patch b/target/linux/generic/pending-4.9/551-ubifs-fix-default-compression-selection.patch index ed0b7df5ee..ca96cbbdb8 100644 --- a/target/linux/generic/pending-4.9/551-ubifs-fix-default-compression-selection.patch +++ b/target/linux/generic/pending-4.9/551-ubifs-fix-default-compression-selection.patch @@ -6,8 +6,6 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> fs/ubifs/sb.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) -diff --git a/fs/ubifs/sb.c b/fs/ubifs/sb.c -index 3cbb904a6d7d..460cb9e3b4ea 100644 --- a/fs/ubifs/sb.c +++ b/fs/ubifs/sb.c @@ -63,6 +63,17 @@ @@ -28,7 +26,7 @@ index 3cbb904a6d7d..460cb9e3b4ea 100644 /** * create_default_filesystem - format empty UBI volume. * @c: UBIFS file-system description object -@@ -183,7 +194,7 @@ static int create_default_filesystem(struct ubifs_info *c) +@@ -183,7 +194,7 @@ static int create_default_filesystem(str if (c->mount_opts.override_compr) sup->default_compr = cpu_to_le16(c->mount_opts.compr_type); else @@ -37,6 +35,3 @@ index 3cbb904a6d7d..460cb9e3b4ea 100644 generate_random_uuid(sup->uuid); --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/600-netfilter_conntrack_flush.patch b/target/linux/generic/pending-4.9/600-netfilter_conntrack_flush.patch index 606ef8baad..81dac2ab23 100644 --- a/target/linux/generic/pending-4.9/600-netfilter_conntrack_flush.patch +++ b/target/linux/generic/pending-4.9/600-netfilter_conntrack_flush.patch @@ -7,8 +7,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> net/netfilter/nf_conntrack_standalone.c | 59 ++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) -diff --git a/net/netfilter/nf_conntrack_standalone.c b/net/netfilter/nf_conntrack_standalone.c -index 5f446cd9f3fd..4c1856b5151f 100644 --- a/net/netfilter/nf_conntrack_standalone.c +++ b/net/netfilter/nf_conntrack_standalone.c @@ -17,6 +17,7 @@ @@ -19,7 +17,7 @@ index 5f446cd9f3fd..4c1856b5151f 100644 #include <net/net_namespace.h> #ifdef CONFIG_SYSCTL #include <linux/sysctl.h> -@@ -298,10 +299,66 @@ static int ct_open(struct inode *inode, struct file *file) +@@ -298,10 +299,66 @@ static int ct_open(struct inode *inode, sizeof(struct ct_iter_state)); } @@ -86,7 +84,7 @@ index 5f446cd9f3fd..4c1856b5151f 100644 .llseek = seq_lseek, .release = seq_release_net, }; -@@ -405,7 +462,7 @@ static int nf_conntrack_standalone_init_proc(struct net *net) +@@ -405,7 +462,7 @@ static int nf_conntrack_standalone_init_ kuid_t root_uid; kgid_t root_gid; @@ -95,6 +93,3 @@ index 5f446cd9f3fd..4c1856b5151f 100644 if (!pde) goto out_nf_conntrack; --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/610-netfilter_match_bypass_default_checks.patch b/target/linux/generic/pending-4.9/610-netfilter_match_bypass_default_checks.patch index 480bb3ff74..de17074019 100644 --- a/target/linux/generic/pending-4.9/610-netfilter_match_bypass_default_checks.patch +++ b/target/linux/generic/pending-4.9/610-netfilter_match_bypass_default_checks.patch @@ -7,8 +7,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> net/ipv4/netfilter/ip_tables.c | 37 +++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) -diff --git a/include/uapi/linux/netfilter_ipv4/ip_tables.h b/include/uapi/linux/netfilter_ipv4/ip_tables.h -index d0da53d96d93..f279daa13c0f 100644 --- a/include/uapi/linux/netfilter_ipv4/ip_tables.h +++ b/include/uapi/linux/netfilter_ipv4/ip_tables.h @@ -88,6 +88,7 @@ struct ipt_ip { @@ -19,8 +17,6 @@ index d0da53d96d93..f279daa13c0f 100644 /* Values for "inv" field in struct ipt_ip. */ #define IPT_INV_VIA_IN 0x01 /* Invert the sense of IN IFACE. */ -diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c -index 7c00ce90adb8..d919350a0e8b 100644 --- a/net/ipv4/netfilter/ip_tables.c +++ b/net/ipv4/netfilter/ip_tables.c @@ -58,6 +58,9 @@ ip_packet_match(const struct iphdr *ip, @@ -63,7 +59,7 @@ index 7c00ce90adb8..d919350a0e8b 100644 static bool ip_checkentry(const struct ipt_ip *ip) { -@@ -545,6 +571,8 @@ find_check_entry(struct ipt_entry *e, struct net *net, const char *name, +@@ -545,6 +571,8 @@ find_check_entry(struct ipt_entry *e, st struct xt_entry_match *ematch; unsigned long pcnt; @@ -72,7 +68,7 @@ index 7c00ce90adb8..d919350a0e8b 100644 pcnt = xt_percpu_counter_alloc(); if (IS_ERR_VALUE(pcnt)) return -ENOMEM; -@@ -824,6 +852,7 @@ copy_entries_to_user(unsigned int total_size, +@@ -824,6 +852,7 @@ copy_entries_to_user(unsigned int total_ const struct xt_table_info *private = table->private; int ret = 0; const void *loc_cpu_entry; @@ -80,10 +76,11 @@ index 7c00ce90adb8..d919350a0e8b 100644 counters = alloc_counters(table); if (IS_ERR(counters)) -@@ -851,6 +880,14 @@ copy_entries_to_user(unsigned int total_size, +@@ -850,6 +879,14 @@ copy_entries_to_user(unsigned int total_ + ret = -EFAULT; goto free_counters; } - ++ + flags = e->ip.flags & IPT_F_MASK; + if (copy_to_user(userptr + off + + offsetof(struct ipt_entry, ip.flags), @@ -91,10 +88,6 @@ index 7c00ce90adb8..d919350a0e8b 100644 + ret = -EFAULT; + goto free_counters; + } -+ + for (i = sizeof(struct ipt_entry); i < e->target_offset; - i += m->u.match_size) { --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/611-netfilter_match_bypass_default_table.patch b/target/linux/generic/pending-4.9/611-netfilter_match_bypass_default_table.patch index a4fee4d2e2..12e4bd5c57 100644 --- a/target/linux/generic/pending-4.9/611-netfilter_match_bypass_default_table.patch +++ b/target/linux/generic/pending-4.9/611-netfilter_match_bypass_default_table.patch @@ -6,11 +6,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> net/ipv4/netfilter/ip_tables.c | 79 +++++++++++++++++++++++++++++++----------- 1 file changed, 58 insertions(+), 21 deletions(-) -diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c -index d919350a0e8b..9178930fca17 100644 --- a/net/ipv4/netfilter/ip_tables.c +++ b/net/ipv4/netfilter/ip_tables.c -@@ -254,6 +254,33 @@ struct ipt_entry *ipt_next_entry(const struct ipt_entry *entry) +@@ -254,6 +254,33 @@ struct ipt_entry *ipt_next_entry(const s return (void *)entry + entry->next_offset; } @@ -119,6 +117,3 @@ index d919350a0e8b..9178930fca17 100644 do { const struct xt_entry_target *t; --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/612-netfilter_match_reduce_memory_access.patch b/target/linux/generic/pending-4.9/612-netfilter_match_reduce_memory_access.patch index 20e0e862f3..c6c5172d2f 100644 --- a/target/linux/generic/pending-4.9/612-netfilter_match_reduce_memory_access.patch +++ b/target/linux/generic/pending-4.9/612-netfilter_match_reduce_memory_access.patch @@ -6,8 +6,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> net/ipv4/netfilter/ip_tables.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c -index 9178930fca17..35d1db7b78f1 100644 --- a/net/ipv4/netfilter/ip_tables.c +++ b/net/ipv4/netfilter/ip_tables.c @@ -61,9 +61,9 @@ ip_packet_match(const struct iphdr *ip, @@ -22,6 +20,3 @@ index 9178930fca17..35d1db7b78f1 100644 (ip->daddr & ipinfo->dmsk.s_addr) != ipinfo->dst.s_addr)) return false; --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/613-netfilter_optional_tcp_window_check.patch b/target/linux/generic/pending-4.9/613-netfilter_optional_tcp_window_check.patch index b11337e944..78a9617762 100644 --- a/target/linux/generic/pending-4.9/613-netfilter_optional_tcp_window_check.patch +++ b/target/linux/generic/pending-4.9/613-netfilter_optional_tcp_window_check.patch @@ -6,8 +6,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> net/netfilter/nf_conntrack_proto_tcp.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) -diff --git a/net/netfilter/nf_conntrack_proto_tcp.c b/net/netfilter/nf_conntrack_proto_tcp.c -index 69f687740c76..f24b62668dc8 100644 --- a/net/netfilter/nf_conntrack_proto_tcp.c +++ b/net/netfilter/nf_conntrack_proto_tcp.c @@ -33,6 +33,9 @@ @@ -20,7 +18,7 @@ index 69f687740c76..f24b62668dc8 100644 /* "Be conservative in what you do, be liberal in what you accept from others." If it's non-zero, we mark only out of window RST segments as INVALID. */ -@@ -513,6 +516,9 @@ static bool tcp_in_window(const struct nf_conn *ct, +@@ -513,6 +516,9 @@ static bool tcp_in_window(const struct n s32 receiver_offset; bool res, in_recv_win; @@ -30,7 +28,7 @@ index 69f687740c76..f24b62668dc8 100644 /* * Get the required data from the packet. */ -@@ -1479,6 +1485,13 @@ static struct ctl_table tcp_sysctl_table[] = { +@@ -1479,6 +1485,13 @@ static struct ctl_table tcp_sysctl_table .mode = 0644, .proc_handler = proc_dointvec, }, @@ -44,6 +42,3 @@ index 69f687740c76..f24b62668dc8 100644 { } }; #endif /* CONFIG_SYSCTL */ --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/616-net_optimize_xfrm_calls.patch b/target/linux/generic/pending-4.9/616-net_optimize_xfrm_calls.patch index d39b531f8c..e627fa0ca0 100644 --- a/target/linux/generic/pending-4.9/616-net_optimize_xfrm_calls.patch +++ b/target/linux/generic/pending-4.9/616-net_optimize_xfrm_calls.patch @@ -6,11 +6,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> net/netfilter/nf_nat_core.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/net/netfilter/nf_nat_core.c b/net/netfilter/nf_nat_core.c -index 5b9c884a452e..4ea363755085 100644 --- a/net/netfilter/nf_nat_core.c +++ b/net/netfilter/nf_nat_core.c -@@ -95,6 +95,9 @@ int nf_xfrm_me_harder(struct net *net, struct sk_buff *skb, unsigned int family) +@@ -95,6 +95,9 @@ int nf_xfrm_me_harder(struct net *net, s struct dst_entry *dst; int err; @@ -20,6 +18,3 @@ index 5b9c884a452e..4ea363755085 100644 err = xfrm_decode_session(skb, &fl, family); if (err < 0) return err; --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/630-packet_socket_type.patch b/target/linux/generic/pending-4.9/630-packet_socket_type.patch index 5afee1e3cf..6aec1d286f 100644 --- a/target/linux/generic/pending-4.9/630-packet_socket_type.patch +++ b/target/linux/generic/pending-4.9/630-packet_socket_type.patch @@ -9,8 +9,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> net/packet/internal.h | 1 + 3 files changed, 31 insertions(+), 7 deletions(-) -diff --git a/include/uapi/linux/if_packet.h b/include/uapi/linux/if_packet.h -index 9e7edfd8141e..40fdf8907900 100644 --- a/include/uapi/linux/if_packet.h +++ b/include/uapi/linux/if_packet.h @@ -31,6 +31,8 @@ struct sockaddr_ll { @@ -30,11 +28,9 @@ index 9e7edfd8141e..40fdf8907900 100644 #define PACKET_FANOUT_HASH 0 #define PACKET_FANOUT_LB 1 -diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c -index 6a563e6e24de..e412c5a4f6d4 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c -@@ -1772,6 +1772,7 @@ static int packet_rcv_spkt(struct sk_buff *skb, struct net_device *dev, +@@ -1772,6 +1772,7 @@ static int packet_rcv_spkt(struct sk_buf { struct sock *sk; struct sockaddr_pkt *spkt; @@ -42,7 +38,7 @@ index 6a563e6e24de..e412c5a4f6d4 100644 /* * When we registered the protocol we saved the socket in the data -@@ -1779,6 +1780,7 @@ static int packet_rcv_spkt(struct sk_buff *skb, struct net_device *dev, +@@ -1779,6 +1780,7 @@ static int packet_rcv_spkt(struct sk_buf */ sk = pt->af_packet_priv; @@ -50,7 +46,7 @@ index 6a563e6e24de..e412c5a4f6d4 100644 /* * Yank back the headers [hope the device set this -@@ -1791,7 +1793,7 @@ static int packet_rcv_spkt(struct sk_buff *skb, struct net_device *dev, +@@ -1791,7 +1793,7 @@ static int packet_rcv_spkt(struct sk_buf * so that this procedure is noop. */ @@ -59,7 +55,7 @@ index 6a563e6e24de..e412c5a4f6d4 100644 goto out; if (!net_eq(dev_net(dev), sock_net(sk))) -@@ -2029,12 +2031,12 @@ static int packet_rcv(struct sk_buff *skb, struct net_device *dev, +@@ -2029,12 +2031,12 @@ static int packet_rcv(struct sk_buff *sk unsigned int snaplen, res; bool is_drop_n_account = false; @@ -75,7 +71,7 @@ index 6a563e6e24de..e412c5a4f6d4 100644 if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -2159,12 +2161,12 @@ static int tpacket_rcv(struct sk_buff *skb, struct net_device *dev, +@@ -2159,12 +2161,12 @@ static int tpacket_rcv(struct sk_buff *s BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h2)) != 32); BUILD_BUG_ON(TPACKET_ALIGN(sizeof(*h.h3)) != 48); @@ -91,7 +87,7 @@ index 6a563e6e24de..e412c5a4f6d4 100644 if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -3234,6 +3236,7 @@ static int packet_create(struct net *net, struct socket *sock, int protocol, +@@ -3234,6 +3236,7 @@ static int packet_create(struct net *net mutex_init(&po->pg_vec_lock); po->rollover = NULL; po->prot_hook.func = packet_rcv; @@ -99,7 +95,7 @@ index 6a563e6e24de..e412c5a4f6d4 100644 if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -3815,6 +3818,16 @@ packet_setsockopt(struct socket *sock, int level, int optname, char __user *optv +@@ -3820,6 +3823,16 @@ packet_setsockopt(struct socket *sock, i po->xmit = val ? packet_direct_xmit : dev_queue_xmit; return 0; } @@ -116,7 +112,7 @@ index 6a563e6e24de..e412c5a4f6d4 100644 default: return -ENOPROTOOPT; } -@@ -3867,6 +3880,13 @@ static int packet_getsockopt(struct socket *sock, int level, int optname, +@@ -3872,6 +3885,13 @@ static int packet_getsockopt(struct sock case PACKET_VNET_HDR: val = po->has_vnet_hdr; break; @@ -130,8 +126,6 @@ index 6a563e6e24de..e412c5a4f6d4 100644 case PACKET_VERSION: val = po->tp_version; break; -diff --git a/net/packet/internal.h b/net/packet/internal.h -index 9ee46314b7d7..76c895fcf22f 100644 --- a/net/packet/internal.h +++ b/net/packet/internal.h @@ -129,6 +129,7 @@ struct packet_sock { @@ -142,6 +136,3 @@ index 9ee46314b7d7..76c895fcf22f 100644 }; static struct packet_sock *pkt_sk(struct sock *sk) --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/650-pppoe_header_pad.patch b/target/linux/generic/pending-4.9/650-pppoe_header_pad.patch index 65fded0ba4..3115073b50 100644 --- a/target/linux/generic/pending-4.9/650-pppoe_header_pad.patch +++ b/target/linux/generic/pending-4.9/650-pppoe_header_pad.patch @@ -7,11 +7,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> drivers/net/ppp/pppoe.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/drivers/net/ppp/pppoe.c b/drivers/net/ppp/pppoe.c -index 4ddae8118c85..49ef11f92fc9 100644 --- a/drivers/net/ppp/pppoe.c +++ b/drivers/net/ppp/pppoe.c -@@ -861,7 +861,7 @@ static int pppoe_sendmsg(struct socket *sock, struct msghdr *m, +@@ -861,7 +861,7 @@ static int pppoe_sendmsg(struct socket * goto end; @@ -20,7 +18,7 @@ index 4ddae8118c85..49ef11f92fc9 100644 0, GFP_KERNEL); if (!skb) { error = -ENOMEM; -@@ -869,7 +869,7 @@ static int pppoe_sendmsg(struct socket *sock, struct msghdr *m, +@@ -869,7 +869,7 @@ static int pppoe_sendmsg(struct socket * } /* Reserve space for headers. */ @@ -29,6 +27,3 @@ index 4ddae8118c85..49ef11f92fc9 100644 skb_reset_network_header(skb); skb->dev = dev; --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/655-increase_skb_pad.patch b/target/linux/generic/pending-4.9/655-increase_skb_pad.patch index d15c3c44c1..ebd9893aa2 100644 --- a/target/linux/generic/pending-4.9/655-increase_skb_pad.patch +++ b/target/linux/generic/pending-4.9/655-increase_skb_pad.patch @@ -7,11 +7,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> include/linux/skbuff.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h -index 32810f279f8e..5f3343ae25ef 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2298,7 +2298,7 @@ static inline int pskb_network_may_pull(struct sk_buff *skb, unsigned int len) +@@ -2298,7 +2298,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 @@ -20,6 +18,3 @@ index 32810f279f8e..5f3343ae25ef 100644 #endif int ___pskb_trim(struct sk_buff *skb, unsigned int len); --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch b/target/linux/generic/pending-4.9/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch index 8956a7f14a..cf4881e12f 100644 --- a/target/linux/generic/pending-4.9/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch +++ b/target/linux/generic/pending-4.9/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch @@ -300,7 +300,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> /** * ip6_tnl_addr_conflict - compare packet addresses to tunnel's own * @t: the outgoing tunnel device -@@ -1283,6 +1423,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str +@@ -1285,6 +1425,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str { struct ip6_tnl *t = netdev_priv(dev); struct ipv6hdr *ipv6h = ipv6_hdr(skb); @@ -308,7 +308,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> int encap_limit = -1; __u16 offset; struct flowi6 fl6; -@@ -1338,6 +1479,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str +@@ -1343,6 +1484,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str fl6.flowi6_mark = skb->mark; } @@ -327,7 +327,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP6)) return -1; -@@ -1463,6 +1616,14 @@ ip6_tnl_change(struct ip6_tnl *t, const +@@ -1470,6 +1623,14 @@ ip6_tnl_change(struct ip6_tnl *t, const t->parms.flowinfo = p->flowinfo; t->parms.link = p->link; t->parms.proto = p->proto; @@ -342,7 +342,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> dst_cache_reset(&t->dst_cache); ip6_tnl_link_config(t); return 0; -@@ -1501,6 +1662,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_ +@@ -1508,6 +1669,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_ p->flowinfo = u->flowinfo; p->link = u->link; p->proto = u->proto; @@ -350,7 +350,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> memcpy(p->name, u->name, sizeof(u->name)); } -@@ -1878,6 +2040,15 @@ static int ip6_tnl_validate(struct nlatt +@@ -1885,6 +2047,15 @@ static int ip6_tnl_validate(struct nlatt return 0; } @@ -366,7 +366,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> static void ip6_tnl_netlink_parms(struct nlattr *data[], struct __ip6_tnl_parm *parms) { -@@ -1912,6 +2083,46 @@ static void ip6_tnl_netlink_parms(struct +@@ -1919,6 +2090,46 @@ static void ip6_tnl_netlink_parms(struct if (data[IFLA_IPTUN_COLLECT_METADATA]) parms->collect_md = true; @@ -413,7 +413,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> } static bool ip6_tnl_netlink_encap_parms(struct nlattr *data[], -@@ -2021,6 +2232,12 @@ static void ip6_tnl_dellink(struct net_d +@@ -2028,6 +2239,12 @@ static void ip6_tnl_dellink(struct net_d static size_t ip6_tnl_get_size(const struct net_device *dev) { @@ -426,7 +426,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> return /* IFLA_IPTUN_LINK */ nla_total_size(4) + -@@ -2048,6 +2265,24 @@ static size_t ip6_tnl_get_size(const str +@@ -2055,6 +2272,24 @@ static size_t ip6_tnl_get_size(const str nla_total_size(2) + /* IFLA_IPTUN_COLLECT_METADATA */ nla_total_size(0) + @@ -451,7 +451,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> 0; } -@@ -2055,6 +2290,9 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -2062,6 +2297,9 @@ static int ip6_tnl_fill_info(struct sk_b { struct ip6_tnl *tunnel = netdev_priv(dev); struct __ip6_tnl_parm *parm = &tunnel->parms; @@ -461,7 +461,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) || nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) || -@@ -2063,9 +2301,27 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -2070,9 +2308,27 @@ static int ip6_tnl_fill_info(struct sk_b nla_put_u8(skb, IFLA_IPTUN_ENCAP_LIMIT, parm->encap_limit) || nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) || nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) || @@ -490,7 +490,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org> if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) || nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) || nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) || -@@ -2103,6 +2359,7 @@ static const struct nla_policy ip6_tnl_p +@@ -2110,6 +2366,7 @@ static const struct nla_policy ip6_tnl_p [IFLA_IPTUN_ENCAP_SPORT] = { .type = NLA_U16 }, [IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 }, [IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG }, diff --git a/target/linux/generic/pending-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index 7a13e61aeb..aceedaed81 100644 --- a/target/linux/generic/pending-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -86,7 +86,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> default: --- a/net/ipv6/fib6_rules.c +++ b/net/ipv6/fib6_rules.c -@@ -88,6 +88,10 @@ static int fib6_rule_action(struct fib_r +@@ -77,6 +77,10 @@ static int fib6_rule_action(struct fib_r err = -EACCES; rt = net->ipv6.ip6_prohibit_entry; goto discard_pkt; @@ -181,7 +181,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -3213,6 +3247,9 @@ static int rt6_fill_node(struct net *net +@@ -3207,6 +3241,9 @@ static int rt6_fill_node(struct net *net case -EACCES: rtm->rtm_type = RTN_PROHIBIT; break; @@ -191,7 +191,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> case -EAGAIN: rtm->rtm_type = RTN_THROW; break; -@@ -3489,6 +3526,8 @@ static int ip6_route_dev_notify(struct n +@@ -3483,6 +3520,8 @@ static int ip6_route_dev_notify(struct n #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); @@ -200,7 +200,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -3711,6 +3750,17 @@ static int __net_init ip6_route_net_init +@@ -3705,6 +3744,17 @@ static int __net_init ip6_route_net_init net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, ip6_template_metrics, true); @@ -218,7 +218,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> #endif net->ipv6.sysctl.flush_delay = 0; -@@ -3729,6 +3779,8 @@ out: +@@ -3723,6 +3773,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -227,7 +227,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -3746,6 +3798,7 @@ static void __net_exit ip6_route_net_exi +@@ -3740,6 +3792,7 @@ static void __net_exit ip6_route_net_exi #ifdef CONFIG_IPV6_MULTIPLE_TABLES kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_blk_hole_entry); @@ -235,7 +235,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org> #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); } -@@ -3819,6 +3872,9 @@ void __init ip6_route_init_special_entri +@@ -3813,6 +3866,9 @@ void __init ip6_route_init_special_entri init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); diff --git a/target/linux/generic/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index e886d70dcc..e70e331f0a 100644 --- a/target/linux/generic/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -9,8 +9,6 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> net/ethernet/eth.c | 18 +++++++++++++++++- 4 files changed, 69 insertions(+), 2 deletions(-) -diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h -index 780e7171f548..6b738c662bc1 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -1749,6 +1749,8 @@ struct net_device { @@ -22,8 +20,6 @@ index 780e7171f548..6b738c662bc1 100644 #ifdef CONFIG_SYSFS struct kset *queues_kset; #endif -diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h -index 5f3343ae25ef..3a04baab9b28 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -742,7 +742,8 @@ struct sk_buff { @@ -36,11 +32,9 @@ index 5f3343ae25ef..3a04baab9b28 100644 #ifdef CONFIG_NET_SCHED __u16 tc_index; /* traffic control index */ -diff --git a/net/core/dev.c b/net/core/dev.c -index 2e04fd188081..c7c96308bc84 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -4512,6 +4512,9 @@ static enum gro_result dev_gro_receive(struct napi_struct *napi, struct sk_buff +@@ -4520,6 +4520,9 @@ static enum gro_result dev_gro_receive(s enum gro_result ret; int grow; @@ -50,7 +44,7 @@ index 2e04fd188081..c7c96308bc84 100644 if (!(skb->dev->features & NETIF_F_GRO)) goto normal; -@@ -5789,6 +5792,48 @@ static void __netdev_adjacent_dev_unlink_neighbour(struct net_device *dev, +@@ -5807,6 +5810,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -99,7 +93,7 @@ index 2e04fd188081..c7c96308bc84 100644 static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info) -@@ -5987,6 +6032,8 @@ void netdev_upper_dev_unlink(struct net_device *dev, +@@ -6005,6 +6050,8 @@ void netdev_upper_dev_unlink(struct net_ list_for_each_entry(i, &upper_dev->all_adj_list.upper, list) __netdev_adjacent_dev_unlink(dev, i->dev, i->ref_nr); @@ -108,7 +102,7 @@ index 2e04fd188081..c7c96308bc84 100644 call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, dev, &changeupper_info.info); } -@@ -6587,6 +6634,7 @@ int dev_set_mac_address(struct net_device *dev, struct sockaddr *sa) +@@ -6605,6 +6652,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; @@ -116,11 +110,9 @@ index 2e04fd188081..c7c96308bc84 100644 call_netdevice_notifiers(NETDEV_CHANGEADDR, dev); add_device_randomness(dev->dev_addr, dev->addr_len); return 0; -diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c -index fbf1de965a9a..6a6d90b9a880 100644 --- a/net/ethernet/eth.c +++ b/net/ethernet/eth.c -@@ -143,6 +143,18 @@ u32 eth_get_headlen(void *data, unsigned int len) +@@ -143,6 +143,18 @@ u32 eth_get_headlen(void *data, unsigned } EXPORT_SYMBOL(eth_get_headlen); @@ -139,7 +131,7 @@ index fbf1de965a9a..6a6d90b9a880 100644 /** * eth_type_trans - determine the packet's protocol ID. * @skb: received socket data -@@ -171,8 +183,12 @@ __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev) +@@ -171,8 +183,12 @@ __be16 eth_type_trans(struct sk_buff *sk skb->pkt_type = PACKET_MULTICAST; } else if (unlikely(!ether_addr_equal_64bits(eth->h_dest, @@ -153,6 +145,3 @@ index fbf1de965a9a..6a6d90b9a880 100644 /* * Some variants of DSA tagging don't have an ethertype field --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/701-phy_extension.patch b/target/linux/generic/pending-4.9/701-phy_extension.patch index dd39910164..2b9e424055 100644 --- a/target/linux/generic/pending-4.9/701-phy_extension.patch +++ b/target/linux/generic/pending-4.9/701-phy_extension.patch @@ -7,11 +7,9 @@ Signed-off-by: John Crispin <john@phrozen.org> include/linux/phy.h | 1 + 2 files changed, 45 insertions(+) -diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c -index a9be26f1f677..d0a5ac1d6445 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -466,6 +466,50 @@ int phy_ethtool_ksettings_get(struct phy_device *phydev, +@@ -466,6 +466,50 @@ int phy_ethtool_ksettings_get(struct phy } EXPORT_SYMBOL(phy_ethtool_ksettings_get); @@ -62,11 +60,9 @@ index a9be26f1f677..d0a5ac1d6445 100644 /** * phy_mii_ioctl - generic PHY MII ioctl interface * @phydev: the phy_device struct -diff --git a/include/linux/phy.h b/include/linux/phy.h -index bd22670e2182..93c1e74afc44 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -813,6 +813,7 @@ int phy_ethtool_ksettings_get(struct phy_device *phydev, +@@ -820,6 +820,7 @@ int phy_ethtool_ksettings_get(struct phy struct ethtool_link_ksettings *cmd); int phy_ethtool_ksettings_set(struct phy_device *phydev, const struct ethtool_link_ksettings *cmd); @@ -74,6 +70,3 @@ index bd22670e2182..93c1e74afc44 100644 int phy_mii_ioctl(struct phy_device *phydev, struct ifreq *ifr, int cmd); int phy_start_interrupts(struct phy_device *phydev); void phy_print_status(struct phy_device *phydev); --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/pending-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch index d7034610d5..c64c3bea3e 100644 --- a/target/linux/generic/pending-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch +++ b/target/linux/generic/pending-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch @@ -9,11 +9,9 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> include/linux/phy.h | 6 ++++++ 2 files changed, 9 insertions(+) -diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c -index 14d57d0d1c04..c37d3a27e372 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1001,6 +1001,9 @@ void phy_detach(struct phy_device *phydev) +@@ -1001,6 +1001,9 @@ void phy_detach(struct phy_device *phyde struct mii_bus *bus; int i; @@ -23,11 +21,9 @@ index 14d57d0d1c04..c37d3a27e372 100644 phydev->attached_dev->phydev = NULL; phydev->attached_dev = NULL; phy_suspend(phydev); -diff --git a/include/linux/phy.h b/include/linux/phy.h -index 93c1e74afc44..d97a418f2cf7 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -508,6 +508,12 @@ struct phy_driver { +@@ -511,6 +511,12 @@ struct phy_driver { */ int (*did_interrupt)(struct phy_device *phydev); @@ -40,6 +36,3 @@ index 93c1e74afc44..d97a418f2cf7 100644 /* Clears up any memory if needed */ void (*remove)(struct phy_device *phydev); --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/704-phy-no-genphy-soft-reset.patch b/target/linux/generic/pending-4.9/704-phy-no-genphy-soft-reset.patch index a434001e27..4fad37ab30 100644 --- a/target/linux/generic/pending-4.9/704-phy-no-genphy-soft-reset.patch +++ b/target/linux/generic/pending-4.9/704-phy-no-genphy-soft-reset.patch @@ -6,37 +6,26 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> drivers/net/phy/phy_device.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c -index c37d3a27e372..069f7ee3e65c 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -1482,7 +1482,7 @@ int genphy_config_init(struct phy_device *phydev) +@@ -1524,11 +1524,6 @@ int genphy_config_init(struct phy_device return 0; } -static int gen10g_soft_reset(struct phy_device *phydev) -+static int no_soft_reset(struct phy_device *phydev) - { - /* Do nothing for now */ - return 0; -@@ -1721,7 +1721,7 @@ static struct phy_driver genphy_driver[] = { - .phy_id = 0xffffffff, - .phy_id_mask = 0xffffffff, - .name = "Generic PHY", -- .soft_reset = genphy_soft_reset, -+ .soft_reset = no_soft_reset, - .config_init = genphy_config_init, - .features = PHY_GBIT_FEATURES | SUPPORTED_MII | - SUPPORTED_AUI | SUPPORTED_FIBRE | -@@ -1735,7 +1735,7 @@ static struct phy_driver genphy_driver[] = { +-{ +- /* Do nothing for now */ +- return 0; +-} + EXPORT_SYMBOL(genphy_config_init); + + static int gen10g_config_init(struct phy_device *phydev) +@@ -1811,7 +1806,7 @@ static struct phy_driver genphy_driver[] .phy_id = 0xffffffff, .phy_id_mask = 0xffffffff, .name = "Generic 10G PHY", - .soft_reset = gen10g_soft_reset, -+ .soft_reset = no_soft_reset, ++ .soft_reset = genphy_no_soft_reset, .config_init = gen10g_config_init, .features = 0, .config_aneg = gen10g_config_aneg, --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch b/target/linux/generic/pending-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch index e996d95093..69b21be951 100644 --- a/target/linux/generic/pending-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch +++ b/target/linux/generic/pending-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch @@ -11,8 +11,6 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> 2 files changed, 67 insertions(+) create mode 100644 include/linux/platform_data/phy-at803x.h -diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c -index c0f45dde60aa..4a55130dcb1c 100644 --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c @@ -12,12 +12,14 @@ @@ -50,7 +48,7 @@ index c0f45dde60aa..4a55130dcb1c 100644 }; struct at803x_context { -@@ -276,8 +284,16 @@ static int at803x_probe(struct phy_device *phydev) +@@ -276,8 +284,16 @@ does_not_require_reset_workaround: return 0; } @@ -67,7 +65,7 @@ index c0f45dde60aa..4a55130dcb1c 100644 int ret; ret = genphy_config_init(phydev); -@@ -298,6 +314,26 @@ static int at803x_config_init(struct phy_device *phydev) +@@ -298,6 +314,26 @@ static int at803x_config_init(struct phy return ret; } @@ -94,7 +92,7 @@ index c0f45dde60aa..4a55130dcb1c 100644 return 0; } -@@ -335,6 +371,8 @@ static int at803x_config_intr(struct phy_device *phydev) +@@ -335,6 +371,8 @@ static int at803x_config_intr(struct phy static void at803x_link_change_notify(struct phy_device *phydev) { struct at803x_priv *priv = phydev->priv; @@ -103,7 +101,7 @@ index c0f45dde60aa..4a55130dcb1c 100644 /* * Conduct a hardware reset for AT8030/2 every time a link loss is -@@ -363,6 +401,24 @@ static void at803x_link_change_notify(struct phy_device *phydev) +@@ -363,6 +401,24 @@ static void at803x_link_change_notify(st } else { priv->phy_reset = false; } @@ -128,9 +126,6 @@ index c0f45dde60aa..4a55130dcb1c 100644 } static int at803x_aneg_done(struct phy_device *phydev) -diff --git a/include/linux/platform_data/phy-at803x.h b/include/linux/platform_data/phy-at803x.h -new file mode 100644 -index 000000000000..a5df74b4f38d --- /dev/null +++ b/include/linux/platform_data/phy-at803x.h @@ -0,0 +1,11 @@ @@ -145,6 +140,3 @@ index 000000000000..a5df74b4f38d +}; + +#endif /* _PHY_AT803X_PDATA_H */ --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/735-net-phy-at803x-fix-at8033-sgmii-mode.patch b/target/linux/generic/pending-4.9/735-net-phy-at803x-fix-at8033-sgmii-mode.patch index c5786a5d6a..485567cd76 100644 --- a/target/linux/generic/pending-4.9/735-net-phy-at803x-fix-at8033-sgmii-mode.patch +++ b/target/linux/generic/pending-4.9/735-net-phy-at803x-fix-at8033-sgmii-mode.patch @@ -11,8 +11,6 @@ Signed-off-by: Roman Yeryomin <roman@advem.lv> drivers/net/phy/at803x.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) -diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c -index 4a55130dcb1c..434efb68bc5d 100644 --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c @@ -55,6 +55,10 @@ @@ -26,7 +24,7 @@ index 4a55130dcb1c..434efb68bc5d 100644 #define AT803X_MODE_CFG_MASK 0x0F #define AT803X_MODE_CFG_SGMII 0x01 -@@ -295,6 +299,27 @@ static int at803x_config_init(struct phy_device *phydev) +@@ -295,6 +299,27 @@ static int at803x_config_init(struct phy { struct at803x_platform_data *pdata; int ret; @@ -54,6 +52,3 @@ index 4a55130dcb1c..434efb68bc5d 100644 ret = genphy_config_init(phydev); if (ret < 0) --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/810-pci_disable_common_quirks.patch b/target/linux/generic/pending-4.9/810-pci_disable_common_quirks.patch index f63c8ea357..464e035f5f 100644 --- a/target/linux/generic/pending-4.9/810-pci_disable_common_quirks.patch +++ b/target/linux/generic/pending-4.9/810-pci_disable_common_quirks.patch @@ -7,8 +7,6 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org> drivers/pci/quirks.c | 6 ++++++ 2 files changed, 12 insertions(+) -diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig -index 6555eb78d91c..120fe3921820 100644 --- a/drivers/pci/Kconfig +++ b/drivers/pci/Kconfig @@ -71,6 +71,12 @@ config XEN_PCIDEV_FRONTEND @@ -24,11 +22,9 @@ index 6555eb78d91c..120fe3921820 100644 config HT_IRQ bool "Interrupts on hypertransport devices" default y -diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index 5d8151b43fbb..cb356e78e743 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -41,6 +41,7 @@ static void quirk_mmio_always_on(struct pci_dev *dev) +@@ -41,6 +41,7 @@ static void quirk_mmio_always_on(struct DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on); @@ -36,7 +32,7 @@ index 5d8151b43fbb..cb356e78e743 100644 /* The Mellanox Tavor device gives false positive parity errors * Mark this device with a broken_parity_status, to allow * PCI scanning code to "skip" this now blacklisted device. -@@ -3038,6 +3039,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f8, quirk_intel_mc_errata); +@@ -3038,6 +3039,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata); @@ -44,7 +40,7 @@ index 5d8151b43fbb..cb356e78e743 100644 /* * Ivytown NTB BAR sizes are misreported by the hardware due to an erratum. To -@@ -3094,6 +3096,8 @@ static void fixup_debug_report(struct pci_dev *dev, ktime_t calltime, +@@ -3094,6 +3096,8 @@ static void fixup_debug_report(struct pc } } @@ -53,7 +49,7 @@ index 5d8151b43fbb..cb356e78e743 100644 /* * Some BIOS implementations leave the Intel GPU interrupts enabled, * even though no one is handling them (f.e. i915 driver is never loaded). -@@ -3128,6 +3132,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0102, disable_igfx_irq); +@@ -3128,6 +3132,8 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IN DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0152, disable_igfx_irq); @@ -62,6 +58,3 @@ index 5d8151b43fbb..cb356e78e743 100644 /* * PCI devices which are on Intel chips can skip the 10ms delay * before entering D3 mode. --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/pending-4.9/811-pci_disable_usb_common_quirks.patch index 33fbf34c4f..e2d8a32713 100644 --- a/target/linux/generic/pending-4.9/811-pci_disable_usb_common_quirks.patch +++ b/target/linux/generic/pending-4.9/811-pci_disable_usb_common_quirks.patch @@ -8,11 +8,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> include/linux/usb/hcd.h | 7 +++++++ 3 files changed, 40 insertions(+), 1 deletion(-) -Index: linux-4.9.40/drivers/usb/host/pci-quirks.c -=================================================================== ---- linux-4.9.40.orig/drivers/usb/host/pci-quirks.c -+++ linux-4.9.40/drivers/usb/host/pci-quirks.c -@@ -106,6 +106,8 @@ struct amd_chipset_type { +--- a/drivers/usb/host/pci-quirks.c ++++ b/drivers/usb/host/pci-quirks.c +@@ -107,6 +107,8 @@ struct amd_chipset_type { u8 rev; }; @@ -21,7 +19,7 @@ Index: linux-4.9.40/drivers/usb/host/pci-quirks.c static struct amd_chipset_info { struct pci_dev *nb_dev; struct pci_dev *smbus_dev; -@@ -503,6 +505,10 @@ void usb_amd_dev_put(void) +@@ -510,6 +512,10 @@ void usb_amd_dev_put(void) } EXPORT_SYMBOL_GPL(usb_amd_dev_put); @@ -32,7 +30,7 @@ Index: linux-4.9.40/drivers/usb/host/pci-quirks.c /* * Make sure the controller is completely inactive, unable to * generate interrupts or do DMA. -@@ -582,8 +588,17 @@ reset_needed: +@@ -589,8 +595,17 @@ reset_needed: uhci_reset_hc(pdev, base); return 1; } @@ -50,15 +48,13 @@ Index: linux-4.9.40/drivers/usb/host/pci-quirks.c static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask) { u16 cmd; -@@ -1150,3 +1165,4 @@ static void quirk_usb_early_handoff(stru +@@ -1157,3 +1172,4 @@ static void quirk_usb_early_handoff(stru } DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_SERIAL_USB, 8, quirk_usb_early_handoff); +#endif -Index: linux-4.9.40/drivers/usb/host/pci-quirks.h -=================================================================== ---- linux-4.9.40.orig/drivers/usb/host/pci-quirks.h -+++ linux-4.9.40/drivers/usb/host/pci-quirks.h +--- a/drivers/usb/host/pci-quirks.h ++++ b/drivers/usb/host/pci-quirks.h @@ -4,6 +4,9 @@ #ifdef CONFIG_PCI void uhci_reset_hc(struct pci_dev *pdev, unsigned long base); @@ -95,10 +91,8 @@ Index: linux-4.9.40/drivers/usb/host/pci-quirks.h #endif /* CONFIG_PCI */ #endif /* __LINUX_USB_PCI_QUIRKS_H */ -Index: linux-4.9.40/include/linux/usb/hcd.h -=================================================================== ---- linux-4.9.40.orig/include/linux/usb/hcd.h -+++ linux-4.9.40/include/linux/usb/hcd.h +--- a/include/linux/usb/hcd.h ++++ b/include/linux/usb/hcd.h @@ -461,7 +461,14 @@ extern int usb_hcd_pci_probe(struct pci_ extern void usb_hcd_pci_remove(struct pci_dev *dev); extern void usb_hcd_pci_shutdown(struct pci_dev *dev); diff --git a/target/linux/generic/pending-4.9/831-ledtrig_netdev.patch b/target/linux/generic/pending-4.9/831-ledtrig_netdev.patch index baba2ca6d9..037ec9bb2d 100644 --- a/target/linux/generic/pending-4.9/831-ledtrig_netdev.patch +++ b/target/linux/generic/pending-4.9/831-ledtrig_netdev.patch @@ -51,17 +51,13 @@ Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> drivers/leds/trigger/Kconfig | 7 +++++++ 2 files changed, 8 insertions(+) -diff --git a/drivers/leds/Makefile b/drivers/leds/Makefile -index 3965070190f5..6273d7e29eab 100644 --- a/drivers/leds/Makefile +++ b/drivers/leds/Makefile -@@ -77,3 +77,4 @@ obj-$(CONFIG_LEDS_DAC124S085) += leds-dac124s085.o +@@ -77,3 +77,4 @@ obj-$(CONFIG_LEDS_DAC124S085) += leds-d # LED Triggers obj-$(CONFIG_LEDS_TRIGGERS) += trigger/ +obj-$(CONFIG_LEDS_TRIGGER_NETDEV) += ledtrig-netdev.o -diff --git a/drivers/leds/trigger/Kconfig b/drivers/leds/trigger/Kconfig -index 3f9ddb9fafa7..4ec185389324 100644 --- a/drivers/leds/trigger/Kconfig +++ b/drivers/leds/trigger/Kconfig @@ -126,4 +126,11 @@ config LEDS_TRIGGER_PANIC @@ -76,6 +72,3 @@ index 3f9ddb9fafa7..4ec185389324 100644 + If unsure, say Y. + endif # LEDS_TRIGGERS --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/890-uart_optional_sysrq.patch b/target/linux/generic/pending-4.9/890-uart_optional_sysrq.patch index 7b62aeb2ea..a69227b776 100644 --- a/target/linux/generic/pending-4.9/890-uart_optional_sysrq.patch +++ b/target/linux/generic/pending-4.9/890-uart_optional_sysrq.patch @@ -13,11 +13,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> lib/Kconfig.debug | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) -diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h -index 344201437017..7e6165bc1cef 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h -@@ -448,7 +448,7 @@ extern void uart_handle_cts_change(struct uart_port *uport, +@@ -448,7 +448,7 @@ extern void uart_handle_cts_change(struc extern void uart_insert_char(struct uart_port *port, unsigned int status, unsigned int overrun, unsigned int ch, unsigned int flag); @@ -26,8 +24,6 @@ index 344201437017..7e6165bc1cef 100644 static inline int uart_handle_sysrq_char(struct uart_port *port, unsigned int ch) { -diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug -index a6c8db1d62f6..062c580cdd68 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -397,6 +397,11 @@ config MAGIC_SYSRQ_DEFAULT_ENABLE @@ -42,6 +38,3 @@ index a6c8db1d62f6..062c580cdd68 100644 config DEBUG_KERNEL bool "Kernel debugging" help --- -2.11.0 - diff --git a/target/linux/generic/pending-4.9/920-mangle_bootargs.patch b/target/linux/generic/pending-4.9/920-mangle_bootargs.patch index 151a3169d8..dc996808dd 100644 --- a/target/linux/generic/pending-4.9/920-mangle_bootargs.patch +++ b/target/linux/generic/pending-4.9/920-mangle_bootargs.patch @@ -11,8 +11,6 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org> init/main.c | 24 ++++++++++++++++++++++++ 2 files changed, 33 insertions(+) -diff --git a/init/Kconfig b/init/Kconfig -index 9063c81b9665..fb66d3ef78e0 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -1687,6 +1687,15 @@ config EMBEDDED @@ -31,11 +29,9 @@ index 9063c81b9665..fb66d3ef78e0 100644 config HAVE_PERF_EVENTS bool help -diff --git a/init/main.c b/init/main.c -index ae3996ae9bac..3855fa4ffb95 100644 --- a/init/main.c +++ b/init/main.c -@@ -352,6 +352,29 @@ static inline void setup_nr_cpu_ids(void) { } +@@ -352,6 +352,29 @@ static inline void setup_nr_cpu_ids(void static inline void smp_prepare_cpus(unsigned int maxcpus) { } #endif @@ -65,7 +61,7 @@ index ae3996ae9bac..3855fa4ffb95 100644 /* * We need to store the untouched command line for future reference. * We also need to store the touched command line since the parameter -@@ -504,6 +527,7 @@ asmlinkage __visible void __init start_kernel(void) +@@ -504,6 +527,7 @@ asmlinkage __visible void __init start_k pr_notice("%s", linux_banner); setup_arch(&command_line); mm_init_cpumask(&init_mm); @@ -73,6 +69,3 @@ index ae3996ae9bac..3855fa4ffb95 100644 setup_command_line(command_line); setup_nr_cpu_ids(); setup_per_cpu_areas(); --- -2.11.0 - |