aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/pending-4.9
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/pending-4.9')
-rw-r--r--target/linux/generic/pending-4.9/130-add-linux-spidev-compatible-si3210.patch5
-rw-r--r--target/linux/generic/pending-4.9/131-spi-use-gpio_set_value_cansleep-for-setting-chipsele.patch2
-rw-r--r--target/linux/generic/pending-4.9/201-extra_optimization.patch7
-rw-r--r--target/linux/generic/pending-4.9/203-kallsyms_uncompressed.patch19
-rw-r--r--target/linux/generic/pending-4.9/205-backtrace_module_info.patch9
-rw-r--r--target/linux/generic/pending-4.9/206-mips-disable-vdso.patch5
-rw-r--r--target/linux/generic/pending-4.9/240-remove-unsane-filenames-from-deps_initramfs-list.patch9
-rw-r--r--target/linux/generic/pending-4.9/261-enable_wilink_platform_without_drivers.patch7
-rw-r--r--target/linux/generic/pending-4.9/300-mips_expose_boot_raw.patch4
-rw-r--r--target/linux/generic/pending-4.9/302-mips_no_branch_likely.patch7
-rw-r--r--target/linux/generic/pending-4.9/304-mips_disable_fpu.patch2
-rw-r--r--target/linux/generic/pending-4.9/305-mips_module_reloc.patch15
-rw-r--r--target/linux/generic/pending-4.9/306-mips_mem_functions_performance.patch16
-rw-r--r--target/linux/generic/pending-4.9/307-mips_highmem_offset.patch5
-rw-r--r--target/linux/generic/pending-4.9/308-mips32r2_tune.patch7
-rw-r--r--target/linux/generic/pending-4.9/310-arm_module_unresolved_weak_sym.patch7
-rw-r--r--target/linux/generic/pending-4.9/400-mtd-add-rootfs-split-support.patch17
-rw-r--r--target/linux/generic/pending-4.9/402-mtd-use-typed-mtd-parsers-for-rootfs-and-firmware-split.patch11
-rw-r--r--target/linux/generic/pending-4.9/403-mtd-hook-mtdsplit-to-Kbuild.patch7
-rw-r--r--target/linux/generic/pending-4.9/404-mtd-add-more-helper-functions.patch17
-rw-r--r--target/linux/generic/pending-4.9/411-mtd-partial_eraseblock_write.patch13
-rw-r--r--target/linux/generic/pending-4.9/412-mtd-partial_eraseblock_unlock.patch7
-rw-r--r--target/linux/generic/pending-4.9/420-mtd-redboot_space.patch7
-rw-r--r--target/linux/generic/pending-4.9/430-mtd-add-myloader-partition-parser.patch7
-rw-r--r--target/linux/generic/pending-4.9/440-block2mtd_init.patch23
-rw-r--r--target/linux/generic/pending-4.9/441-block2mtd_probe.patch13
-rw-r--r--target/linux/generic/pending-4.9/460-mtd-cfi_cmdset_0002-no-erase_suspend.patch7
-rw-r--r--target/linux/generic/pending-4.9/465-m25p80-mx-disable-software-protection.patch7
-rw-r--r--target/linux/generic/pending-4.9/476-mtd-spi-nor-add-eon-en25q128.patch7
-rw-r--r--target/linux/generic/pending-4.9/477-mtd-add-spi-nor-add-mx25u3235f.patch7
-rw-r--r--target/linux/generic/pending-4.9/480-mtd-set-rootfs-to-be-root-dev.patch5
-rw-r--r--target/linux/generic/pending-4.9/494-mtd-ubi-add-EOF-marker-support.patch9
-rw-r--r--target/linux/generic/pending-4.9/530-jffs2_make_lzma_available.patch54
-rw-r--r--target/linux/generic/pending-4.9/532-jffs2_eofdetect.patch13
-rw-r--r--target/linux/generic/pending-4.9/551-ubifs-fix-default-compression-selection.patch7
-rw-r--r--target/linux/generic/pending-4.9/600-netfilter_conntrack_flush.patch9
-rw-r--r--target/linux/generic/pending-4.9/610-netfilter_match_bypass_default_checks.patch19
-rw-r--r--target/linux/generic/pending-4.9/611-netfilter_match_bypass_default_table.patch7
-rw-r--r--target/linux/generic/pending-4.9/612-netfilter_match_reduce_memory_access.patch5
-rw-r--r--target/linux/generic/pending-4.9/613-netfilter_optional_tcp_window_check.patch9
-rw-r--r--target/linux/generic/pending-4.9/616-net_optimize_xfrm_calls.patch7
-rw-r--r--target/linux/generic/pending-4.9/630-packet_socket_type.patch25
-rw-r--r--target/linux/generic/pending-4.9/650-pppoe_header_pad.patch9
-rw-r--r--target/linux/generic/pending-4.9/655-increase_skb_pad.patch7
-rw-r--r--target/linux/generic/pending-4.9/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch22
-rw-r--r--target/linux/generic/pending-4.9/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch14
-rw-r--r--target/linux/generic/pending-4.9/680-NET-skip-GRO-for-foreign-MAC-addresses.patch23
-rw-r--r--target/linux/generic/pending-4.9/701-phy_extension.patch11
-rw-r--r--target/linux/generic/pending-4.9/703-phy-add-detach-callback-to-struct-phy_driver.patch11
-rw-r--r--target/linux/generic/pending-4.9/704-phy-no-genphy-soft-reset.patch31
-rw-r--r--target/linux/generic/pending-4.9/734-net-phy-at803x-allow-to-configure-via-pdata.patch16
-rw-r--r--target/linux/generic/pending-4.9/735-net-phy-at803x-fix-at8033-sgmii-mode.patch7
-rw-r--r--target/linux/generic/pending-4.9/810-pci_disable_common_quirks.patch15
-rw-r--r--target/linux/generic/pending-4.9/811-pci_disable_usb_common_quirks.patch26
-rw-r--r--target/linux/generic/pending-4.9/831-ledtrig_netdev.patch9
-rw-r--r--target/linux/generic/pending-4.9/890-uart_optional_sysrq.patch9
-rw-r--r--target/linux/generic/pending-4.9/920-mangle_bootargs.patch11
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
-