From aa56d00aa624ffdc3ed839300d1284f890d31bf7 Mon Sep 17 00:00:00 2001 From: Christian Marangi Date: Mon, 22 May 2023 18:07:13 +0200 Subject: [PATCH] generic: 6.1: refresh hack patches Refresh hack patches with make target/linux/refresh. Signed-off-by: Christian Marangi --- .../generic/hack-6.1/204-module_strip.patch | 38 ++++++++--------- ...-abort-configuration-on-unset-symbol.patch | 4 +- .../hack-6.1/210-darwin_scripts_include.patch | 4 +- .../hack-6.1/212-tools_portability.patch | 29 +------------ .../hack-6.1/220-arm-gc_sections.patch | 8 ++-- .../generic/hack-6.1/221-module_exports.patch | 16 +++---- .../hack-6.1/230-openwrt_lzma_options.patch | 4 +- .../hack-6.1/250-netfilter_depends.patch | 4 +- .../linux/generic/hack-6.1/251-kconfig.patch | 24 +++++------ .../generic/hack-6.1/253-ksmbd-config.patch | 4 +- .../generic/hack-6.1/259-regmap_dynamic.patch | 2 +- .../260-crypto_test_dependencies.patch | 2 +- .../hack-6.1/261-lib-arc4-unhide.patch | 2 +- .../generic/hack-6.1/280-rfkill-stubs.patch | 2 +- .../321-powerpc_crtsavres_prereq.patch | 2 +- ...rans-call-add-disks-after-mtd-device.patch | 6 +-- .../410-block-fit-partition-parser.patch | 20 ++++----- ...upport-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch | 2 +- .../hack-6.1/430-mtk-bmt-support.patch | 2 +- .../generic/hack-6.1/600-bridge_offload.patch | 42 +++++++++---------- ...lter-connmark-introduce-set-dscpmark.patch | 4 +- ...-netfilter-add-xt_FLOWOFFLOAD-target.patch | 12 +++--- .../hack-6.1/651-wireless_mesh_header.patch | 2 +- .../hack-6.1/660-fq_codel_defaults.patch | 2 +- ...t-size-the-hashtable-more-adequately.patch | 2 +- ...-dsa-mv88e6xxx-disable-ATU-violation.patch | 2 +- .../hack-6.1/720-net-phy-add-aqr-phys.patch | 16 +++---- .../721-net-add-packet-mangeling.patch | 18 ++++---- ...hy-aquantia-enable-AQR112-and-AQR412.patch | 15 +++---- ...aquantia-fix-system-side-protocol-mi.patch | 2 +- ...y-aquantia-Add-AQR113-driver-support.patch | 9 ++-- ...ntia-add-PHY_IDs-for-AQR112-variants.patch | 7 ++-- ...-r8152-add-LED-configuration-from-OF.patch | 8 ++-- .../765-mxl-gpy-control-LED-reg-from-DT.patch | 16 +++---- .../hack-6.1/773-bgmac-add-srab-switch.patch | 4 +- .../780-usb-net-MeigLink_modem_support.patch | 6 +-- .../790-SFP-GE-T-ignore-TX_FAULT.patch | 14 +++---- .../800-GPIO-add-named-gpio-exports.patch | 12 +++--- .../hack-6.1/901-debloat_sock_diag.patch | 18 ++++---- .../generic/hack-6.1/902-debloat_proc.patch | 30 ++++++------- .../hack-6.1/904-debloat_dma_buf.patch | 13 +++--- .../911-kobject_add_broadcast_uevent.patch | 2 +- .../hack-6.1/920-device_tree_cmdline.patch | 4 +- ...vert-driver-core-Set-fw_devlink-on-b.patch | 2 +- 44 files changed, 205 insertions(+), 232 deletions(-) diff --git a/target/linux/generic/hack-6.1/204-module_strip.patch b/target/linux/generic/hack-6.1/204-module_strip.patch index ee39d15095..f0949d32fd 100644 --- a/target/linux/generic/hack-6.1/204-module_strip.patch +++ b/target/linux/generic/hack-6.1/204-module_strip.patch @@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/module.h +++ b/include/linux/module.h -@@ -164,6 +164,7 @@ extern void cleanup_module(void); +@@ -163,6 +163,7 @@ extern void cleanup_module(void); /* Generic info of form tag = "info" */ #define MODULE_INFO(tag, info) __MODULE_INFO(tag, tag, info) @@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau /* For userspace: you can also call me... */ #define MODULE_ALIAS(_alias) MODULE_INFO(alias, _alias) -@@ -233,12 +234,12 @@ extern void cleanup_module(void); +@@ -232,12 +233,12 @@ extern void cleanup_module(void); * Author(s), use "Name " or just "Name", for multiple * authors use multiple MODULE_AUTHOR() statements/lines. */ @@ -38,7 +38,7 @@ Signed-off-by: Felix Fietkau /* Creates an alias so file2alias.c can find device table. */ #define MODULE_DEVICE_TABLE(type, name) \ extern typeof(name) __mod_##type##__##name##_device_table \ -@@ -265,7 +266,9 @@ extern typeof(name) __mod_##type##__##na +@@ -264,7 +265,9 @@ extern typeof(name) __mod_##type##__##na */ #if defined(MODULE) || !defined(CONFIG_SYSFS) @@ -49,14 +49,14 @@ Signed-off-by: Felix Fietkau #else #define MODULE_VERSION(_version) \ MODULE_INFO(version, _version); \ -@@ -288,7 +291,7 @@ extern typeof(name) __mod_##type##__##na +@@ -287,7 +290,7 @@ extern typeof(name) __mod_##type##__##na /* Optional firmware file (or files) needed by the module * format is simply firmware file name. Multiple firmware * files require multiple MODULE_FIRMWARE() specifiers */ -#define MODULE_FIRMWARE(_firmware) MODULE_INFO(firmware, _firmware) +#define MODULE_FIRMWARE(_firmware) MODULE_INFO_STRIP(firmware, _firmware) - #define MODULE_IMPORT_NS(ns) MODULE_INFO(import_ns, #ns) + #define MODULE_IMPORT_NS(ns) MODULE_INFO(import_ns, __stringify(ns)) --- a/include/linux/moduleparam.h +++ b/include/linux/moduleparam.h @@ -88,9 +88,9 @@ Signed-off-by: Felix Fietkau --- a/kernel/module/Kconfig +++ b/kernel/module/Kconfig -@@ -2352,6 +2352,13 @@ config UNUSED_KSYMS_WHITELIST - one per line. The path can be absolute, or relative to the kernel - source tree. +@@ -290,4 +290,11 @@ config MODULES_TREE_LOOKUP + def_bool y + depends on PERF_EVENTS || TRACING || CFI_CLANG +config MODULE_STRIPPED + bool "Reduce module size" @@ -100,11 +100,9 @@ Signed-off-by: Felix Fietkau + device tables, etc. + endif # MODULES - - config MODULES_TREE_LOOKUP --- a/kernel/module/main.c +++ b/kernel/module/main.c -@@ -1218,6 +1218,7 @@ static struct module_attribute *modinfo_ +@@ -988,6 +988,7 @@ size_t modinfo_attrs_count = ARRAY_SIZE( static const char vermagic[] = VERMAGIC_STRING; @@ -112,7 +110,7 @@ Signed-off-by: Felix Fietkau int try_to_force_load(struct module *mod, const char *reason) { #ifdef CONFIG_MODULE_FORCE_LOAD -@@ -1229,6 +1230,7 @@ static int try_to_force_load(struct modu +@@ -999,6 +1000,7 @@ int try_to_force_load(struct module *mod return -ENOEXEC; #endif } @@ -120,7 +118,7 @@ Signed-off-by: Felix Fietkau static char *get_modinfo(const struct load_info *info, const char *tag); static char *get_next_modinfo(const struct load_info *info, const char *tag, -@@ -3266,9 +3268,11 @@ static int setup_load_info(struct load_i +@@ -1950,9 +1952,11 @@ static int setup_load_info(struct load_i static int check_modinfo(struct module *mod, struct load_info *info, int flags) { @@ -133,7 +131,7 @@ Signed-off-by: Felix Fietkau if (flags & MODULE_INIT_IGNORE_VERMAGIC) modmagic = NULL; -@@ -3289,6 +3293,7 @@ static int check_modinfo(struct module * +@@ -1973,6 +1977,7 @@ static int check_modinfo(struct module * mod->name); add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK); } @@ -143,7 +141,7 @@ Signed-off-by: Felix Fietkau --- a/scripts/mod/modpost.c +++ b/scripts/mod/modpost.c -@@ -2034,7 +2034,9 @@ static void read_symbols(const char *mod +@@ -1817,7 +1817,9 @@ static void read_symbols(const char *mod symname = remove_dot(info.strtab + sym->st_name); handle_symbol(mod, &info, sym, symname); @@ -153,7 +151,7 @@ Signed-off-by: Felix Fietkau } for (sym = info.symtab_start; sym < info.symtab_stop; sym++) { -@@ -2213,8 +2215,10 @@ static void add_header(struct buffer *b, +@@ -1980,8 +1982,10 @@ static void add_header(struct buffer *b, buf_printf(b, "BUILD_SALT;\n"); buf_printf(b, "BUILD_LTO_INFO;\n"); buf_printf(b, "\n"); @@ -164,7 +162,7 @@ Signed-off-by: Felix Fietkau buf_printf(b, "\n"); buf_printf(b, "__visible struct module __this_module\n"); buf_printf(b, "__section(\".gnu.linkonce.this_module\") = {\n"); -@@ -2231,8 +2235,10 @@ static void add_header(struct buffer *b, +@@ -1995,8 +1999,10 @@ static void add_header(struct buffer *b, buf_printf(b, "\t.arch = MODULE_ARCH_INIT,\n"); buf_printf(b, "};\n"); @@ -175,7 +173,7 @@ Signed-off-by: Felix Fietkau buf_printf(b, "\n" -@@ -2245,8 +2251,10 @@ static void add_retpoline(struct buffer +@@ -2004,8 +2010,10 @@ static void add_header(struct buffer *b, "MODULE_INFO(retpoline, \"Y\");\n" "#endif\n"); @@ -186,7 +184,7 @@ Signed-off-by: Felix Fietkau if (strstarts(mod->name, "tools/testing")) buf_printf(b, "\nMODULE_INFO(test, \"Y\");\n"); -@@ -2326,11 +2334,13 @@ static void add_depends(struct buffer *b +@@ -2101,11 +2109,13 @@ static void add_depends(struct buffer *b static void add_srcversion(struct buffer *b, struct module *mod) { @@ -200,7 +198,7 @@ Signed-off-by: Felix Fietkau } static void write_buf(struct buffer *b, const char *fname) -@@ -2579,7 +2589,9 @@ int main(int argc, char **argv) +@@ -2191,7 +2201,9 @@ static void write_mod_c_file(struct modu add_exported_symbols(&buf, mod); add_versions(&buf, mod); add_depends(&buf, mod); diff --git a/target/linux/generic/hack-6.1/205-kconfig-abort-configuration-on-unset-symbol.patch b/target/linux/generic/hack-6.1/205-kconfig-abort-configuration-on-unset-symbol.patch index a87c7a5116..df18507041 100644 --- a/target/linux/generic/hack-6.1/205-kconfig-abort-configuration-on-unset-symbol.patch +++ b/target/linux/generic/hack-6.1/205-kconfig-abort-configuration-on-unset-symbol.patch @@ -19,7 +19,7 @@ Signed-off-by: David Bauer --- a/scripts/kconfig/conf.c +++ b/scripts/kconfig/conf.c -@@ -341,6 +341,9 @@ static int conf_askvalue(struct symbol * +@@ -338,6 +338,9 @@ static int conf_askvalue(struct symbol * } /* fall through */ default: @@ -29,7 +29,7 @@ Signed-off-by: David Bauer fflush(stdout); xfgets(line, sizeof(line), stdin); break; -@@ -523,6 +526,9 @@ static int conf_choice(struct menu *menu +@@ -520,6 +523,9 @@ static int conf_choice(struct menu *menu } /* fall through */ case oldaskconfig: diff --git a/target/linux/generic/hack-6.1/210-darwin_scripts_include.patch b/target/linux/generic/hack-6.1/210-darwin_scripts_include.patch index be6adc0d11..c9612536de 100644 --- a/target/linux/generic/hack-6.1/210-darwin_scripts_include.patch +++ b/target/linux/generic/hack-6.1/210-darwin_scripts_include.patch @@ -3039,7 +3039,7 @@ Signed-off-by: Florian Fainelli main(int argc, char **argv) --- a/scripts/mod/modpost.h +++ b/scripts/mod/modpost.h -@@ -8,7 +8,11 @@ +@@ -9,7 +9,11 @@ #include #include #include @@ -3049,5 +3049,5 @@ Signed-off-by: Florian Fainelli +#include "elf.h" +#endif + #include "list.h" #include "elfconfig.h" - diff --git a/target/linux/generic/hack-6.1/212-tools_portability.patch b/target/linux/generic/hack-6.1/212-tools_portability.patch index 0b908f7c7d..4b1c6c4983 100644 --- a/target/linux/generic/hack-6.1/212-tools_portability.patch +++ b/target/linux/generic/hack-6.1/212-tools_portability.patch @@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau struct kmem_cache; --- a/tools/perf/pmu-events/jevents.py +++ b/tools/perf/pmu-events/jevents.py -@@ -684,6 +684,7 @@ +@@ -684,6 +684,7 @@ def main() -> None: #include "util/header.h" #include "util/pmu.h" #include @@ -91,30 +91,3 @@ Signed-off-by: Felix Fietkau #include struct compact_pmu_event { -# --- a/tools/perf/pmu-events/jevents.c -# +++ b/tools/perf/pmu-events/jevents.c -# @@ -1,4 +1,6 @@ -# +#ifdef __linux__ -# #define _XOPEN_SOURCE 500 /* needed for nftw() */ -# +#endif -# #define _GNU_SOURCE /* needed for asprintf() */ - -# /* Parse event JSON files */ -# @@ -35,6 +37,7 @@ -# #include -# #include -# #include -# +#include -# #include -# #include -# #include -# --- a/tools/perf/pmu-events/json.c -# +++ b/tools/perf/pmu-events/json.c -# @@ -38,7 +38,6 @@ -# #include -# #include "jsmn.h" -# #include "json.h" -# -#include - - -# static char *mapfile(const char *fn, size_t *size) diff --git a/target/linux/generic/hack-6.1/220-arm-gc_sections.patch b/target/linux/generic/hack-6.1/220-arm-gc_sections.patch index 0aa3eb840c..483118138e 100644 --- a/target/linux/generic/hack-6.1/220-arm-gc_sections.patch +++ b/target/linux/generic/hack-6.1/220-arm-gc_sections.patch @@ -12,7 +12,7 @@ Signed-off-by: Gabor Juhos --- --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig -@@ -117,6 +117,7 @@ config ARM +@@ -122,6 +122,7 @@ config ARM select HAVE_UID16 select HAVE_VIRT_CPU_ACCOUNTING_GEN select IRQ_FORCED_THREADING @@ -22,14 +22,14 @@ Signed-off-by: Gabor Juhos select OF_EARLY_FLATTREE if OF --- a/arch/arm/boot/compressed/Makefile +++ b/arch/arm/boot/compressed/Makefile -@@ -92,6 +92,7 @@ endif +@@ -91,6 +91,7 @@ endif ifeq ($(CONFIG_USE_OF),y) OBJS += $(libfdt_objs) fdt_check_mem_start.o endif +KBUILD_CFLAGS_KERNEL := $(patsubst -f%-sections,,$(KBUILD_CFLAGS_KERNEL)) - # -fstack-protector-strong triggers protection checks in this code, - # but it is being used too early to link to meaningful stack_chk logic. + OBJS += lib1funcs.o ashldi3.o bswapsdi2.o + --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S @@ -75,7 +75,7 @@ SECTIONS diff --git a/target/linux/generic/hack-6.1/221-module_exports.patch b/target/linux/generic/hack-6.1/221-module_exports.patch index adc2cefbd2..d1ff81613a 100644 --- a/target/linux/generic/hack-6.1/221-module_exports.patch +++ b/target/linux/generic/hack-6.1/221-module_exports.patch @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau /* Align . to a 8 byte boundary equals to maximum function alignment. */ #define ALIGN_FUNCTION() . = ALIGN(8) -@@ -485,14 +495,14 @@ +@@ -512,14 +522,14 @@ /* Kernel symbol table: Normal symbols */ \ __ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) { \ __start___ksymtab = .; \ @@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau __stop___ksymtab_gpl = .; \ } \ \ -@@ -512,7 +522,7 @@ +@@ -539,7 +549,7 @@ \ /* Kernel symbol table: strings */ \ __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) { \ @@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau } \ \ /* __*init sections */ \ -@@ -1018,6 +1028,8 @@ +@@ -1048,6 +1058,8 @@ #define COMMON_DISCARDS \ SANITIZER_DISCARDS \ PATCHABLE_DISCARDS \ @@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau *(.modinfo) \ --- a/include/linux/export.h +++ b/include/linux/export.h -@@ -84,6 +84,12 @@ struct kernel_symbol { +@@ -72,6 +72,12 @@ struct kernel_symbol { #else @@ -80,7 +80,7 @@ Signed-off-by: Felix Fietkau /* * For every exported symbol, do the following: * -@@ -101,7 +107,7 @@ struct kernel_symbol { +@@ -87,7 +93,7 @@ struct kernel_symbol { extern typeof(sym) sym; \ extern const char __kstrtab_##sym[]; \ extern const char __kstrtabns_##sym[]; \ @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau "__kstrtabns_" #sym ": \n" \ --- a/include/asm-generic/export.h +++ b/include/asm-generic/export.h -@@ -26,6 +26,12 @@ +@@ -31,6 +31,12 @@ #endif .endm @@ -104,7 +104,7 @@ Signed-off-by: Felix Fietkau /* * note on .section use: we specify progbits since usage of the "M" (SHF_MERGE) * section flag requires it. Use '%progbits' instead of '@progbits' since the -@@ -39,7 +45,7 @@ +@@ -44,7 +50,7 @@ __ksymtab_\name: __put \val, __kstrtab_\name .previous @@ -115,7 +115,7 @@ Signed-off-by: Felix Fietkau .previous --- a/scripts/Makefile.build +++ b/scripts/Makefile.build -@@ -397,7 +397,7 @@ targets += $(real-dtb-y) $(lib-y) $(alwa +@@ -388,7 +388,7 @@ targets += $(real-dtb-y) $(lib-y) $(alwa # Linker scripts preprocessor (.lds.S -> .lds) # --------------------------------------------------------------------------- quiet_cmd_cpp_lds_S = LDS $@ diff --git a/target/linux/generic/hack-6.1/230-openwrt_lzma_options.patch b/target/linux/generic/hack-6.1/230-openwrt_lzma_options.patch index a28878427a..55530c5c7e 100644 --- a/target/linux/generic/hack-6.1/230-openwrt_lzma_options.patch +++ b/target/linux/generic/hack-6.1/230-openwrt_lzma_options.patch @@ -23,7 +23,7 @@ Signed-off-by: Imre Kaloz { {0x02, 0x21}, "lz4", unlz4 }, --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib -@@ -402,10 +402,10 @@ quiet_cmd_bzip2 = BZIP2 $@ +@@ -443,10 +443,10 @@ quiet_cmd_bzip2_with_size = BZIP2 $@ # --------------------------------------------------------------------------- quiet_cmd_lzma = LZMA $@ @@ -35,4 +35,4 @@ Signed-off-by: Imre Kaloz + cmd_lzma_with_size = { cat $(real-prereqs) | $(LZMA) e -d20 -lc1 -lp2 -pb2 -eos -si -so; $(size_append); } > $@ quiet_cmd_lzo = LZO $@ - cmd_lzo = { cat $(real-prereqs) | $(KLZOP) -9; $(size_append); } > $@ + cmd_lzo = cat $(real-prereqs) | $(KLZOP) -9 > $@ diff --git a/target/linux/generic/hack-6.1/250-netfilter_depends.patch b/target/linux/generic/hack-6.1/250-netfilter_depends.patch index 495c73ffa8..fbb5a61157 100644 --- a/target/linux/generic/hack-6.1/250-netfilter_depends.patch +++ b/target/linux/generic/hack-6.1/250-netfilter_depends.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -243,7 +243,6 @@ config NF_CONNTRACK_FTP +@@ -253,7 +253,6 @@ config NF_CONNTRACK_FTP config NF_CONNTRACK_H323 tristate "H.323 protocol support" @@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau depends on NETFILTER_ADVANCED help H.323 is a VoIP signalling protocol from ITU-T. As one of the most -@@ -1106,7 +1105,6 @@ config NETFILTER_XT_TARGET_SECMARK +@@ -1118,7 +1117,6 @@ config NETFILTER_XT_TARGET_SECMARK config NETFILTER_XT_TARGET_TCPMSS tristate '"TCPMSS" target support' diff --git a/target/linux/generic/hack-6.1/251-kconfig.patch b/target/linux/generic/hack-6.1/251-kconfig.patch index 0e24c3e804..e1ecbca6fe 100644 --- a/target/linux/generic/hack-6.1/251-kconfig.patch +++ b/target/linux/generic/hack-6.1/251-kconfig.patch @@ -16,8 +16,8 @@ Signed-off-by: John Crispin --- a/crypto/Kconfig +++ b/crypto/Kconfig -@@ -34,7 +34,7 @@ config CRYPTO_FIPS - this is. +@@ -55,7 +55,7 @@ config CRYPTO_FIPS_VERSION + By default the KERNELRELEASE value is used. config CRYPTO_ALGAPI - tristate @@ -25,7 +25,7 @@ Signed-off-by: John Crispin select CRYPTO_ALGAPI2 help This option provides the API for cryptographic algorithms. -@@ -43,7 +43,7 @@ config CRYPTO_ALGAPI2 +@@ -64,7 +64,7 @@ config CRYPTO_ALGAPI2 tristate config CRYPTO_AEAD @@ -34,7 +34,7 @@ Signed-off-by: John Crispin select CRYPTO_AEAD2 select CRYPTO_ALGAPI -@@ -54,7 +54,7 @@ config CRYPTO_AEAD2 +@@ -75,7 +75,7 @@ config CRYPTO_AEAD2 select CRYPTO_RNG2 config CRYPTO_SKCIPHER @@ -43,7 +43,7 @@ Signed-off-by: John Crispin select CRYPTO_SKCIPHER2 select CRYPTO_ALGAPI -@@ -64,7 +64,7 @@ config CRYPTO_SKCIPHER2 +@@ -85,7 +85,7 @@ config CRYPTO_SKCIPHER2 select CRYPTO_RNG2 config CRYPTO_HASH @@ -52,7 +52,7 @@ Signed-off-by: John Crispin select CRYPTO_HASH2 select CRYPTO_ALGAPI -@@ -73,7 +73,7 @@ config CRYPTO_HASH2 +@@ -94,7 +94,7 @@ config CRYPTO_HASH2 select CRYPTO_ALGAPI2 config CRYPTO_RNG @@ -92,7 +92,7 @@ Signed-off-by: John Crispin bool --- a/lib/Kconfig +++ b/lib/Kconfig -@@ -443,16 +443,16 @@ config BCH_CONST_T +@@ -457,16 +457,16 @@ config BCH_CONST_T # Textsearch support is select'ed if needed # config TEXTSEARCH @@ -115,8 +115,8 @@ Signed-off-by: John Crispin bool --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -11,7 +11,7 @@ config NETFILTER_INGRESS - infrastructure. +@@ -22,7 +22,7 @@ config NETFILTER_SKIP_EGRESS + def_bool NETFILTER_EGRESS && (NET_CLS_ACT || IFB) config NETFILTER_NETLINK - tristate @@ -147,7 +147,7 @@ Signed-off-by: John Crispin config CFG80211 tristate "cfg80211 - wireless configuration API" -@@ -204,7 +204,7 @@ config CFG80211_WEXT_EXPORT +@@ -208,7 +208,7 @@ config CFG80211_WEXT_EXPORT endif # CFG80211 config LIB80211 @@ -156,7 +156,7 @@ Signed-off-by: John Crispin default n help This options enables a library of common routines used -@@ -213,17 +213,17 @@ config LIB80211 +@@ -217,17 +217,17 @@ config LIB80211 Drivers should select this themselves if needed. config LIB80211_CRYPT_WEP @@ -199,7 +199,7 @@ Signed-off-by: John Crispin bool --- a/net/Kconfig +++ b/net/Kconfig -@@ -432,7 +432,7 @@ config NET_DEVLINK +@@ -430,7 +430,7 @@ config NET_DEVLINK default n config PAGE_POOL diff --git a/target/linux/generic/hack-6.1/253-ksmbd-config.patch b/target/linux/generic/hack-6.1/253-ksmbd-config.patch index b8cb94f62b..b0c379657e 100644 --- a/target/linux/generic/hack-6.1/253-ksmbd-config.patch +++ b/target/linux/generic/hack-6.1/253-ksmbd-config.patch @@ -10,7 +10,7 @@ Subject: [PATCH] Kconfig: add tristate for OID and ASNI string --- a/init/Kconfig +++ b/init/Kconfig -@@ -2388,7 +2388,7 @@ config PADATA +@@ -2003,7 +2003,7 @@ config PADATA bool config ASN1 @@ -21,7 +21,7 @@ Subject: [PATCH] Kconfig: add tristate for OID and ASNI string that can be interpreted by the ASN.1 stream decoder and used to --- a/lib/Kconfig +++ b/lib/Kconfig -@@ -614,7 +614,7 @@ config LIBFDT +@@ -637,7 +637,7 @@ config LIBFDT bool config OID_REGISTRY diff --git a/target/linux/generic/hack-6.1/259-regmap_dynamic.patch b/target/linux/generic/hack-6.1/259-regmap_dynamic.patch index 8cf6c035e5..407bc72ac8 100644 --- a/target/linux/generic/hack-6.1/259-regmap_dynamic.patch +++ b/target/linux/generic/hack-6.1/259-regmap_dynamic.patch @@ -125,7 +125,7 @@ Signed-off-by: Felix Fietkau #include #include #include -@@ -3348,3 +3349,5 @@ static int __init regmap_initcall(void) +@@ -3511,3 +3512,5 @@ static int __init regmap_initcall(void) return 0; } postcore_initcall(regmap_initcall); diff --git a/target/linux/generic/hack-6.1/260-crypto_test_dependencies.patch b/target/linux/generic/hack-6.1/260-crypto_test_dependencies.patch index 64daa82743..7ea517496e 100644 --- a/target/linux/generic/hack-6.1/260-crypto_test_dependencies.patch +++ b/target/linux/generic/hack-6.1/260-crypto_test_dependencies.patch @@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau --- a/crypto/Kconfig +++ b/crypto/Kconfig -@@ -121,13 +121,13 @@ config CRYPTO_MANAGER +@@ -142,13 +142,13 @@ config CRYPTO_MANAGER cbc(aes). config CRYPTO_MANAGER2 diff --git a/target/linux/generic/hack-6.1/261-lib-arc4-unhide.patch b/target/linux/generic/hack-6.1/261-lib-arc4-unhide.patch index ee923c73f7..01829b2d51 100644 --- a/target/linux/generic/hack-6.1/261-lib-arc4-unhide.patch +++ b/target/linux/generic/hack-6.1/261-lib-arc4-unhide.patch @@ -13,7 +13,7 @@ from backports. --- a/lib/crypto/Kconfig +++ b/lib/crypto/Kconfig -@@ -6,7 +6,7 @@ config CRYPTO_LIB_AES +@@ -9,7 +9,7 @@ config CRYPTO_LIB_AES tristate config CRYPTO_LIB_ARC4 diff --git a/target/linux/generic/hack-6.1/280-rfkill-stubs.patch b/target/linux/generic/hack-6.1/280-rfkill-stubs.patch index 7a650d132e..ff6638f7a0 100644 --- a/target/linux/generic/hack-6.1/280-rfkill-stubs.patch +++ b/target/linux/generic/hack-6.1/280-rfkill-stubs.patch @@ -26,7 +26,7 @@ Signed-off-by: John Crispin * @name: name of the struct -- the string is not copied internally --- a/net/Makefile +++ b/net/Makefile -@@ -52,7 +52,7 @@ obj-$(CONFIG_TIPC) += tipc/ +@@ -51,7 +51,7 @@ obj-$(CONFIG_TIPC) += tipc/ obj-$(CONFIG_NETLABEL) += netlabel/ obj-$(CONFIG_IUCV) += iucv/ obj-$(CONFIG_SMC) += smc/ diff --git a/target/linux/generic/hack-6.1/321-powerpc_crtsavres_prereq.patch b/target/linux/generic/hack-6.1/321-powerpc_crtsavres_prereq.patch index 215528a90c..17eba0b354 100644 --- a/target/linux/generic/hack-6.1/321-powerpc_crtsavres_prereq.patch +++ b/target/linux/generic/hack-6.1/321-powerpc_crtsavres_prereq.patch @@ -16,7 +16,7 @@ Signed-off-by: Alexandros C. Couloumbis --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile -@@ -61,19 +61,6 @@ machine-$(CONFIG_PPC64) += 64 +@@ -42,19 +42,6 @@ machine-$(CONFIG_PPC64) += 64 machine-$(CONFIG_CPU_LITTLE_ENDIAN) += le UTS_MACHINE := $(subst $(space),,$(machine-y)) diff --git a/target/linux/generic/hack-6.1/402-mtd-blktrans-call-add-disks-after-mtd-device.patch b/target/linux/generic/hack-6.1/402-mtd-blktrans-call-add-disks-after-mtd-device.patch index 7999f5ac6d..c0fa2ddabf 100644 --- a/target/linux/generic/hack-6.1/402-mtd-blktrans-call-add-disks-after-mtd-device.patch +++ b/target/linux/generic/hack-6.1/402-mtd-blktrans-call-add-disks-after-mtd-device.patch @@ -25,7 +25,7 @@ Signed-off-by: Daniel Golle --- a/drivers/mtd/mtd_blkdevs.c +++ b/drivers/mtd/mtd_blkdevs.c -@@ -384,19 +384,8 @@ int add_mtd_blktrans_dev(struct mtd_blkt +@@ -386,19 +386,8 @@ int add_mtd_blktrans_dev(struct mtd_blkt if (new->readonly) set_disk_ro(gd, 1); @@ -45,7 +45,7 @@ Signed-off-by: Daniel Golle out_free_tag_set: blk_mq_free_tag_set(new->tag_set); out_kfree_tag_set: -@@ -402,6 +395,35 @@ out_list_del: +@@ -408,6 +397,35 @@ out_list_del: return ret; } @@ -91,7 +91,7 @@ Signed-off-by: Daniel Golle #include "mtdcore.h" -@@ -1082,6 +1083,8 @@ int mtd_device_parse_register(struct mtd +@@ -1074,6 +1075,8 @@ int mtd_device_parse_register(struct mtd register_reboot_notifier(&mtd->reboot_notifier); } diff --git a/target/linux/generic/hack-6.1/410-block-fit-partition-parser.patch b/target/linux/generic/hack-6.1/410-block-fit-partition-parser.patch index 854621bb58..0384dad85e 100644 --- a/target/linux/generic/hack-6.1/410-block-fit-partition-parser.patch +++ b/target/linux/generic/hack-6.1/410-block-fit-partition-parser.patch @@ -19,7 +19,7 @@ Subject: [PATCH] kernel: add block fit partition parser --- a/block/blk.h +++ b/block/blk.h -@@ -354,6 +354,8 @@ void blk_free_ext_minor(unsigned int min +@@ -414,6 +414,8 @@ void blk_free_ext_minor(unsigned int min #define ADDPART_FLAG_NONE 0 #define ADDPART_FLAG_RAID 1 #define ADDPART_FLAG_WHOLEDISK 2 @@ -30,7 +30,7 @@ Subject: [PATCH] kernel: add block fit partition parser int bdev_del_partition(struct gendisk *disk, int partno); --- a/block/partitions/Kconfig +++ b/block/partitions/Kconfig -@@ -101,6 +101,13 @@ config ATARI_PARTITION +@@ -103,6 +103,13 @@ config ATARI_PARTITION Say Y here if you would like to use hard disks under Linux which were partitioned under the Atari OS. @@ -56,7 +56,7 @@ Subject: [PATCH] kernel: add block fit partition parser obj-$(CONFIG_LDM_PARTITION) += ldm.o --- a/block/partitions/check.h +++ b/block/partitions/check.h -@@ -58,6 +58,7 @@ int amiga_partition(struct parsed_partit +@@ -57,6 +57,7 @@ int amiga_partition(struct parsed_partit int atari_partition(struct parsed_partitions *state); int cmdline_partition(struct parsed_partitions *state); int efi_partition(struct parsed_partitions *state); @@ -64,7 +64,7 @@ Subject: [PATCH] kernel: add block fit partition parser int ibm_partition(struct parsed_partitions *); int karma_partition(struct parsed_partitions *state); int ldm_partition(struct parsed_partitions *state); -@@ -68,3 +69,5 @@ int sgi_partition(struct parsed_partitio +@@ -67,3 +68,5 @@ int sgi_partition(struct parsed_partitio int sun_partition(struct parsed_partitions *state); int sysv68_partition(struct parsed_partitions *state); int ultrix_partition(struct parsed_partitions *state); @@ -72,9 +72,9 @@ Subject: [PATCH] kernel: add block fit partition parser +int parse_fit_partitions(struct parsed_partitions *state, u64 start_sector, u64 nr_sectors, int *slot, int add_remain); --- a/block/partitions/core.c +++ b/block/partitions/core.c -@@ -12,6 +12,10 @@ +@@ -10,6 +10,10 @@ + #include #include - #include #include +#ifdef CONFIG_FIT_PARTITION +#include @@ -83,7 +83,7 @@ Subject: [PATCH] kernel: add block fit partition parser #include "check.h" static int (*check_part[])(struct parsed_partitions *) = { -@@ -48,6 +52,9 @@ static int (*check_part[])(struct parsed +@@ -46,6 +50,9 @@ static int (*check_part[])(struct parsed #ifdef CONFIG_EFI_PARTITION efi_partition, /* this must come before msdos */ #endif @@ -93,7 +93,7 @@ Subject: [PATCH] kernel: add block fit partition parser #ifdef CONFIG_SGI_PARTITION sgi_partition, #endif -@@ -408,6 +415,11 @@ static struct block_device *add_partitio +@@ -398,6 +405,11 @@ static struct block_device *add_partitio goto out_del; } @@ -105,7 +105,7 @@ Subject: [PATCH] kernel: add block fit partition parser /* everything is up and running, commence */ err = xa_insert(&disk->part_tbl, partno, bdev, GFP_KERNEL); if (err) -@@ -598,6 +610,11 @@ static bool blk_add_partition(struct gen +@@ -585,6 +597,11 @@ static bool blk_add_partition(struct gen (state->parts[p].flags & ADDPART_FLAG_RAID)) md_autodetect_dev(part->bd_dev); @@ -143,7 +143,7 @@ Subject: [PATCH] kernel: add block fit partition parser kfree(gpt); --- a/block/partitions/efi.h +++ b/block/partitions/efi.h -@@ -52,6 +52,9 @@ +@@ -51,6 +51,9 @@ #define PARTITION_LINUX_LVM_GUID \ EFI_GUID( 0xe6d6d379, 0xf507, 0x44c2, \ 0xa2, 0x3c, 0x23, 0x8f, 0x2a, 0x3d, 0xf9, 0x28) diff --git a/target/linux/generic/hack-6.1/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch b/target/linux/generic/hack-6.1/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch index 947b2c262f..8e8e5cea8d 100644 --- a/target/linux/generic/hack-6.1/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch +++ b/target/linux/generic/hack-6.1/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch @@ -12,7 +12,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c -@@ -761,7 +761,8 @@ int add_mtd_device(struct mtd_info *mtd) +@@ -750,7 +750,8 @@ int add_mtd_device(struct mtd_info *mtd) mutex_unlock(&mtd_table_mutex); diff --git a/target/linux/generic/hack-6.1/430-mtk-bmt-support.patch b/target/linux/generic/hack-6.1/430-mtk-bmt-support.patch index 1476f4fd56..1e69ee6446 100644 --- a/target/linux/generic/hack-6.1/430-mtk-bmt-support.patch +++ b/target/linux/generic/hack-6.1/430-mtk-bmt-support.patch @@ -23,7 +23,7 @@ Subject: [PATCH] mtd/nand: add MediaTek NAND bad block managment table depends on HAS_IOMEM --- a/drivers/mtd/nand/Makefile +++ b/drivers/mtd/nand/Makefile -@@ -2,6 +2,7 @@ +@@ -3,6 +3,7 @@ nandcore-objs := core.o bbt.o obj-$(CONFIG_MTD_NAND_CORE) += nandcore.o obj-$(CONFIG_MTD_NAND_ECC_MEDIATEK) += ecc-mtk.o diff --git a/target/linux/generic/hack-6.1/600-bridge_offload.patch b/target/linux/generic/hack-6.1/600-bridge_offload.patch index 6462044bbe..aa78c96e7f 100644 --- a/target/linux/generic/hack-6.1/600-bridge_offload.patch +++ b/target/linux/generic/hack-6.1/600-bridge_offload.patch @@ -25,7 +25,7 @@ Subject: [PATCH] net/bridge: add bridge offload --- a/include/linux/if_bridge.h +++ b/include/linux/if_bridge.h -@@ -59,6 +59,7 @@ struct br_ip_list { +@@ -60,6 +60,7 @@ struct br_ip_list { #define BR_TX_FWD_OFFLOAD BIT(20) #define BR_PORT_LOCKED BIT(21) #define BR_BPDU_FILTER BIT(22) @@ -54,7 +54,7 @@ Subject: [PATCH] net/bridge: add bridge offload /* * Handle changes in state of network devices enslaved to a bridge. -@@ -381,6 +382,10 @@ static int __init br_init(void) +@@ -389,6 +390,10 @@ static int __init br_init(void) if (err) goto err_out; @@ -65,7 +65,7 @@ Subject: [PATCH] net/bridge: add bridge offload err = register_pernet_subsys(&br_net_ops); if (err) goto err_out1; -@@ -430,6 +435,8 @@ err_out3: +@@ -438,6 +443,8 @@ err_out3: err_out2: unregister_pernet_subsys(&br_net_ops); err_out1: @@ -74,7 +74,7 @@ Subject: [PATCH] net/bridge: add bridge offload br_fdb_fini(); err_out: stp_proto_unregister(&br_stp_proto); -@@ -452,6 +459,7 @@ static void __exit br_deinit(void) +@@ -460,6 +467,7 @@ static void __exit br_deinit(void) #if IS_ENABLED(CONFIG_ATM_LANE) br_fdb_test_addr_hook = NULL; #endif @@ -84,7 +84,7 @@ Subject: [PATCH] net/bridge: add bridge offload --- a/net/bridge/br_device.c +++ b/net/bridge/br_device.c -@@ -524,6 +524,8 @@ void br_dev_setup(struct net_device *dev +@@ -525,6 +525,8 @@ void br_dev_setup(struct net_device *dev br->bridge_hello_time = br->hello_time = 2 * HZ; br->bridge_forward_delay = br->forward_delay = 15 * HZ; br->bridge_ageing_time = br->ageing_time = BR_DEFAULT_AGEING_TIME; @@ -103,7 +103,7 @@ Subject: [PATCH] net/bridge: add bridge offload static const struct rhashtable_params br_fdb_rht_params = { .head_offset = offsetof(struct net_bridge_fdb_entry, rhnode), -@@ -185,6 +185,8 @@ static void fdb_notify(struct net_bridge +@@ -185,6 +186,8 @@ static void fdb_notify(struct net_bridge struct sk_buff *skb; int err = -ENOBUFS; @@ -112,13 +112,13 @@ Subject: [PATCH] net/bridge: add bridge offload if (swdev_notify) br_switchdev_fdb_notify(br, fdb, type); -@@ -518,6 +519,8 @@ static struct net_bridge_fdb_entry *fdb_ +@@ -393,6 +396,8 @@ static struct net_bridge_fdb_entry *fdb_ fdb->key.vlan_id = vid; fdb->flags = flags; fdb->updated = fdb->used = jiffies; + INIT_HLIST_HEAD(&fdb->offload_in); + INIT_HLIST_HEAD(&fdb->offload_out); - err = rhashtable_lookup_insert_fast(&br->fdb_hash_tbl, &fdb->rhnode, + err = rhashtable_lookup_insert_fast(&br->fdb_hash_tbl, &fdb->rhnode, br_fdb_rht_params); if (err) { --- a/net/bridge/br_forward.c @@ -150,7 +150,7 @@ Subject: [PATCH] net/bridge: add bridge offload /* * Determine initial path cost based on speed. -@@ -428,7 +429,7 @@ static struct net_bridge_port *new_nbp(s +@@ -437,7 +438,7 @@ static struct net_bridge_port *new_nbp(s p->path_cost = port_cost(dev); p->priority = 0x8000 >> BR_PORT_BITS; p->port_no = index; @@ -159,7 +159,7 @@ Subject: [PATCH] net/bridge: add bridge offload br_init_port(p); br_set_state(p, BR_STATE_DISABLED); br_stp_port_timer_init(p); -@@ -771,6 +772,9 @@ void br_port_flags_change(struct net_bri +@@ -761,6 +762,9 @@ void br_port_flags_change(struct net_bri if (mask & BR_NEIGH_SUPPRESS) br_recalculate_neigh_suppress_enabled(br); @@ -179,7 +179,7 @@ Subject: [PATCH] net/bridge: add bridge offload static int br_netif_receive_skb(struct net *net, struct sock *sk, struct sk_buff *skb) -@@ -171,6 +172,7 @@ int br_handle_frame_finish(struct net *n +@@ -189,6 +190,7 @@ int br_handle_frame_finish(struct net *n dst->used = now; br_forward(dst->dst, skb, local_rcv, false); } else { @@ -187,7 +187,7 @@ Subject: [PATCH] net/bridge: add bridge offload if (!mcast_hit) br_flood(br, skb, pkt_type, local_rcv, false); else -@@ -304,6 +306,9 @@ static rx_handler_result_t br_handle_fra +@@ -322,6 +324,9 @@ static rx_handler_result_t br_handle_fra memset(skb->cb, 0, sizeof(struct br_input_skb_cb)); p = br_port_get_rcu(skb->dev); @@ -640,7 +640,7 @@ Subject: [PATCH] net/bridge: add bridge offload +} --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h -@@ -268,7 +268,13 @@ struct net_bridge_fdb_entry { +@@ -271,7 +271,13 @@ struct net_bridge_fdb_entry { unsigned long updated ____cacheline_aligned_in_smp; unsigned long used; @@ -654,8 +654,8 @@ Subject: [PATCH] net/bridge: add bridge offload + }; }; - #define MDB_PG_FLAGS_PERMANENT BIT(0) -@@ -343,6 +349,12 @@ struct net_bridge_mdb_entry { + struct net_bridge_fdb_flush_desc { +@@ -353,6 +359,12 @@ struct net_bridge_mdb_entry { struct rcu_head rcu; }; @@ -668,7 +668,7 @@ Subject: [PATCH] net/bridge: add bridge offload struct net_bridge_port { struct net_bridge *br; struct net_device *dev; -@@ -403,6 +415,7 @@ struct net_bridge_port { +@@ -414,6 +426,7 @@ struct net_bridge_port { u16 backup_redirected_cnt; struct bridge_stp_xstats stp_xstats; @@ -676,7 +676,7 @@ Subject: [PATCH] net/bridge: add bridge offload }; #define kobj_to_brport(obj) container_of(obj, struct net_bridge_port, kobj) -@@ -519,6 +532,9 @@ struct net_bridge { +@@ -531,6 +544,9 @@ struct net_bridge { struct kobject *ifobj; u32 auto_cnt; @@ -686,7 +686,7 @@ Subject: [PATCH] net/bridge: add bridge offload #ifdef CONFIG_NET_SWITCHDEV /* Counter used to make sure that hardware domains get unique * identifiers in case a bridge spans multiple switchdev instances. -@@ -553,6 +569,10 @@ struct br_input_skb_cb { +@@ -565,6 +581,10 @@ struct br_input_skb_cb { #ifdef CONFIG_NETFILTER_FAMILY_BRIDGE u8 br_netfilter_broute:1; #endif @@ -733,7 +733,7 @@ Subject: [PATCH] net/bridge: add bridge offload /* since time values in bpdu are in jiffies and then scaled (1/256) * before sending, make sure that is at least one STP tick. -@@ -52,6 +53,8 @@ void br_set_state(struct net_bridge_port +@@ -58,6 +59,8 @@ void br_set_state(struct net_bridge_port (unsigned int) p->port_no, p->dev->name, br_port_state_names[p->state]); @@ -752,7 +752,7 @@ Subject: [PATCH] net/bridge: add bridge offload /* IMPORTANT: new bridge options must be added with netlink support only * please do not add new sysfs entries -@@ -930,6 +931,38 @@ static ssize_t vlan_stats_per_port_store +@@ -933,6 +934,38 @@ static ssize_t vlan_stats_per_port_store static DEVICE_ATTR_RW(vlan_stats_per_port); #endif @@ -791,7 +791,7 @@ Subject: [PATCH] net/bridge: add bridge offload static struct attribute *bridge_attrs[] = { &dev_attr_forward_delay.attr, &dev_attr_hello_time.attr, -@@ -984,6 +1017,8 @@ static struct attribute *bridge_attrs[] +@@ -987,6 +1020,8 @@ static struct attribute *bridge_attrs[] &dev_attr_vlan_stats_enabled.attr, &dev_attr_vlan_stats_per_port.attr, #endif diff --git a/target/linux/generic/hack-6.1/645-netfilter-connmark-introduce-set-dscpmark.patch b/target/linux/generic/hack-6.1/645-netfilter-connmark-introduce-set-dscpmark.patch index c368c4ae3b..444f8edfea 100644 --- a/target/linux/generic/hack-6.1/645-netfilter-connmark-introduce-set-dscpmark.patch +++ b/target/linux/generic/hack-6.1/645-netfilter-connmark-introduce-set-dscpmark.patch @@ -83,7 +83,7 @@ Signed-off-by: Kevin Darbyshire-Bryant --- a/include/uapi/linux/netfilter/xt_connmark.h +++ b/include/uapi/linux/netfilter/xt_connmark.h -@@ -20,6 +20,11 @@ enum { +@@ -15,6 +15,11 @@ enum { }; enum { @@ -95,7 +95,7 @@ Signed-off-by: Kevin Darbyshire-Bryant D_SHIFT_LEFT = 0, D_SHIFT_RIGHT, }; -@@ -34,6 +39,11 @@ struct xt_connmark_tginfo2 { +@@ -29,6 +34,11 @@ struct xt_connmark_tginfo2 { __u8 shift_dir, shift_bits, mode; }; diff --git a/target/linux/generic/hack-6.1/650-netfilter-add-xt_FLOWOFFLOAD-target.patch b/target/linux/generic/hack-6.1/650-netfilter-add-xt_FLOWOFFLOAD-target.patch index 476c5948ab..386291bfe8 100644 --- a/target/linux/generic/hack-6.1/650-netfilter-add-xt_FLOWOFFLOAD-target.patch +++ b/target/linux/generic/hack-6.1/650-netfilter-add-xt_FLOWOFFLOAD-target.patch @@ -8,7 +8,7 @@ Signed-off-by: Felix Fietkau --- a/net/netfilter/Kconfig +++ b/net/netfilter/Kconfig -@@ -1011,6 +1010,15 @@ config NETFILTER_XT_TARGET_NOTRACK +@@ -1023,6 +1023,15 @@ config NETFILTER_XT_TARGET_NOTRACK depends on NETFILTER_ADVANCED select NETFILTER_XT_TARGET_CT @@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau depends on NETFILTER_ADVANCED --- a/net/netfilter/Makefile +++ b/net/netfilter/Makefile -@@ -143,6 +143,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_CLASSIF +@@ -154,6 +154,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_CLASSIF obj-$(CONFIG_NETFILTER_XT_TARGET_CONNSECMARK) += xt_CONNSECMARK.o obj-$(CONFIG_NETFILTER_XT_TARGET_CT) += xt_CT.o obj-$(CONFIG_NETFILTER_XT_TARGET_DSCP) += xt_DSCP.o @@ -745,7 +745,7 @@ Signed-off-by: Felix Fietkau #include #include #include -@@ -380,8 +379,7 @@ flow_offload_lookup(struct nf_flowtable +@@ -381,8 +380,7 @@ flow_offload_lookup(struct nf_flowtable } EXPORT_SYMBOL_GPL(flow_offload_lookup); @@ -755,13 +755,13 @@ Signed-off-by: Felix Fietkau void (*iter)(struct nf_flowtable *flowtable, struct flow_offload *flow, void *data), void *data) -@@ -435,6 +433,7 @@ static void nf_flow_offload_gc_step(stru +@@ -436,6 +434,7 @@ static void nf_flow_offload_gc_step(stru nf_flow_offload_stats(flow_table, flow); } } +EXPORT_SYMBOL_GPL(nf_flow_table_iterate); - static void nf_flow_offload_work_gc(struct work_struct *work) + void nf_flow_table_gc_run(struct nf_flowtable *flow_table) { --- /dev/null +++ b/include/uapi/linux/netfilter/xt_FLOWOFFLOAD.h @@ -785,7 +785,7 @@ Signed-off-by: Felix Fietkau +#endif /* _XT_FLOWOFFLOAD_H */ --- a/include/net/netfilter/nf_flow_table.h +++ b/include/net/netfilter/nf_flow_table.h -@@ -275,6 +275,11 @@ void nf_flow_table_free(struct nf_flowta +@@ -280,6 +280,11 @@ void nf_flow_table_free(struct nf_flowta void flow_offload_teardown(struct flow_offload *flow); diff --git a/target/linux/generic/hack-6.1/651-wireless_mesh_header.patch b/target/linux/generic/hack-6.1/651-wireless_mesh_header.patch index 12a031ec84..fd7d5346ad 100644 --- a/target/linux/generic/hack-6.1/651-wireless_mesh_header.patch +++ b/target/linux/generic/hack-6.1/651-wireless_mesh_header.patch @@ -11,7 +11,7 @@ Signed-off-by: Imre Kaloz --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -145,8 +145,8 @@ static inline bool dev_xmit_complete(int +@@ -149,8 +149,8 @@ static inline bool dev_xmit_complete(int #if defined(CONFIG_HYPERV_NET) # define LL_MAX_HEADER 128 diff --git a/target/linux/generic/hack-6.1/660-fq_codel_defaults.patch b/target/linux/generic/hack-6.1/660-fq_codel_defaults.patch index a57a045f4a..b923a2d206 100644 --- a/target/linux/generic/hack-6.1/660-fq_codel_defaults.patch +++ b/target/linux/generic/hack-6.1/660-fq_codel_defaults.patch @@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau --- a/net/sched/sch_fq_codel.c +++ b/net/sched/sch_fq_codel.c -@@ -467,7 +467,11 @@ static int fq_codel_init(struct Qdisc *s +@@ -471,7 +471,11 @@ static int fq_codel_init(struct Qdisc *s sch->limit = 10*1024; q->flows_cnt = 1024; diff --git a/target/linux/generic/hack-6.1/661-kernel-ct-size-the-hashtable-more-adequately.patch b/target/linux/generic/hack-6.1/661-kernel-ct-size-the-hashtable-more-adequately.patch index 683aa8a8df..b9dda6cada 100644 --- a/target/linux/generic/hack-6.1/661-kernel-ct-size-the-hashtable-more-adequately.patch +++ b/target/linux/generic/hack-6.1/661-kernel-ct-size-the-hashtable-more-adequately.patch @@ -14,7 +14,7 @@ Signed-off-by: Rui Salvaterra --- a/net/netfilter/nf_conntrack_core.c +++ b/net/netfilter/nf_conntrack_core.c -@@ -2735,7 +2735,7 @@ int nf_conntrack_init_start(void) +@@ -2702,7 +2702,7 @@ int nf_conntrack_init_start(void) if (!nf_conntrack_htable_size) { nf_conntrack_htable_size diff --git a/target/linux/generic/hack-6.1/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch b/target/linux/generic/hack-6.1/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch index 8f2e6e0e0e..25a3f83b24 100644 --- a/target/linux/generic/hack-6.1/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch +++ b/target/linux/generic/hack-6.1/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch @@ -9,7 +9,7 @@ Subject: [PATCH] net/dsa/mv88e6xxx: disable ATU violation --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -2981,6 +2981,9 @@ static int mv88e6xxx_setup_port(struct m +@@ -3465,6 +3465,9 @@ static int mv88e6xxx_setup_port(struct m else reg = 1 << port; diff --git a/target/linux/generic/hack-6.1/720-net-phy-add-aqr-phys.patch b/target/linux/generic/hack-6.1/720-net-phy-add-aqr-phys.patch index de6fdb3cea..fd2687d8ba 100644 --- a/target/linux/generic/hack-6.1/720-net-phy-add-aqr-phys.patch +++ b/target/linux/generic/hack-6.1/720-net-phy-add-aqr-phys.patch @@ -9,7 +9,7 @@ Signed-off-by: Birger Koblitz --- a/drivers/net/phy/aquantia_main.c +++ b/drivers/net/phy/aquantia_main.c -@@ -20,6 +20,7 @@ +@@ -23,6 +23,7 @@ #define PHY_ID_AQCS109 0x03a1b5c2 #define PHY_ID_AQR405 0x03a1b4b0 #define PHY_ID_AQR113C 0x31c31c12 @@ -17,7 +17,7 @@ Signed-off-by: Birger Koblitz #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) -@@ -372,6 +374,49 @@ static int aqr107_read_rate(struct phy_d +@@ -415,6 +416,49 @@ static int aqr107_read_rate(struct phy_d return 0; } @@ -67,7 +67,7 @@ Signed-off-by: Birger Koblitz static int aqr107_read_status(struct phy_device *phydev) { int val, ret; -@@ -502,7 +547,7 @@ static void aqr107_chip_info(struct phy_ +@@ -554,7 +598,7 @@ static void aqr107_chip_info(struct phy_ build_id = FIELD_GET(VEND1_GLOBAL_RSVD_STAT1_FW_BUILD_ID, val); prov_id = FIELD_GET(VEND1_GLOBAL_RSVD_STAT1_PROV_ID, val); @@ -76,7 +76,7 @@ Signed-off-by: Birger Koblitz fw_major, fw_minor, build_id, prov_id); } -@@ -706,7 +706,7 @@ static struct phy_driver aqr_driver[] = +@@ -809,7 +853,7 @@ static struct phy_driver aqr_driver[] = .config_aneg = aqr_config_aneg, .config_intr = aqr_config_intr, .handle_interrupt = aqr_handle_interrupt, @@ -85,9 +85,9 @@ Signed-off-by: Birger Koblitz .get_tunable = aqr107_get_tunable, .set_tunable = aqr107_set_tunable, .suspend = aqr107_suspend, -@@ -708,6 +762,24 @@ static struct phy_driver aqr_driver[] = - .handle_interrupt = aqr_handle_interrupt, - .read_status = aqr_read_status, +@@ -819,6 +863,24 @@ static struct phy_driver aqr_driver[] = + .get_stats = aqr107_get_stats, + .link_change_notify = aqr107_link_change_notify, }, +{ + PHY_ID_MATCH_MODEL(PHY_ID_AQR813), @@ -110,7 +110,7 @@ Signed-off-by: Birger Koblitz }; module_phy_driver(aqr_driver); -@@ -709,6 +790,7 @@ static struct mdio_device_id __maybe_unu +@@ -832,6 +894,7 @@ static struct mdio_device_id __maybe_unu { PHY_ID_MATCH_MODEL(PHY_ID_AQCS109) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR405) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, diff --git a/target/linux/generic/hack-6.1/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-6.1/721-net-add-packet-mangeling.patch index adb437548e..14a9818c3a 100644 --- a/target/linux/generic/hack-6.1/721-net-add-packet-mangeling.patch +++ b/target/linux/generic/hack-6.1/721-net-add-packet-mangeling.patch @@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -1655,6 +1655,7 @@ enum netdev_priv_flags { +@@ -1704,6 +1704,7 @@ enum netdev_priv_flags { IFF_LIVE_RENAME_OK = 1<<30, IFF_TX_SKB_NO_LINEAR = BIT_ULL(31), IFF_CHANGE_PROTO_DOWN = BIT_ULL(32), @@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau }; #define IFF_802_1Q_VLAN IFF_802_1Q_VLAN -@@ -1687,6 +1691,7 @@ enum netdev_priv_flags { +@@ -1738,6 +1739,7 @@ enum netdev_priv_flags { #define IFF_L3MDEV_RX_HANDLER IFF_L3MDEV_RX_HANDLER #define IFF_LIVE_RENAME_OK IFF_LIVE_RENAME_OK #define IFF_TX_SKB_NO_LINEAR IFF_TX_SKB_NO_LINEAR @@ -35,7 +35,7 @@ Signed-off-by: Felix Fietkau /* Specifies the type of the struct net_device::ml_priv pointer */ enum netdev_ml_priv_type { -@@ -2048,6 +2054,11 @@ struct net_device { +@@ -2106,6 +2108,11 @@ struct net_device { const struct tlsdev_ops *tlsdev_ops; #endif @@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau const struct header_ops *header_ops; unsigned char operstate; -@@ -2122,6 +2133,10 @@ struct net_device { +@@ -2181,6 +2188,10 @@ struct net_device { struct mctp_dev __rcu *mctp_ptr; #endif @@ -60,7 +60,7 @@ Signed-off-by: Felix Fietkau */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2816,6 +2816,10 @@ static inline int pskb_trim(struct sk_bu +@@ -3022,6 +3022,10 @@ static inline int pskb_trim(struct sk_bu return (len < skb->len) ? __pskb_trim(skb, len) : 0; } @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau /** * pskb_trim_unique - remove end from a paged unique (not cloned) buffer * @skb: buffer to alter -@@ -2966,16 +2970,6 @@ static inline struct sk_buff *dev_alloc_ +@@ -3171,16 +3175,6 @@ static inline struct sk_buff *dev_alloc_ } @@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau help --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3590,6 +3590,11 @@ static int xmit_one(struct sk_buff *skb, +@@ -3588,6 +3588,11 @@ static int xmit_one(struct sk_buff *skb, if (dev_nit_active(dev)) dev_queue_xmit_nit(skb, dev); @@ -127,7 +127,7 @@ Signed-off-by: Felix Fietkau #include #include -@@ -602,6 +603,22 @@ skb_fail: +@@ -707,6 +708,22 @@ skb_fail: } EXPORT_SYMBOL(__napi_alloc_skb); @@ -152,7 +152,7 @@ Signed-off-by: Felix Fietkau { --- a/net/ethernet/eth.c +++ b/net/ethernet/eth.c -@@ -170,6 +170,12 @@ __be16 eth_type_trans(struct sk_buff *sk +@@ -171,6 +171,12 @@ __be16 eth_type_trans(struct sk_buff *sk const struct ethhdr *eth; skb->dev = dev; diff --git a/target/linux/generic/hack-6.1/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch b/target/linux/generic/hack-6.1/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch index d4024f1a43..77b190464c 100644 --- a/target/linux/generic/hack-6.1/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch +++ b/target/linux/generic/hack-6.1/722-net-phy-aquantia-enable-AQR112-and-AQR412.patch @@ -15,7 +15,7 @@ Signed-off-by: Alex Marginean --- a/drivers/net/phy/aquantia_main.c +++ b/drivers/net/phy/aquantia_main.c -@@ -20,6 +20,8 @@ +@@ -24,6 +24,8 @@ #define PHY_ID_AQR405 0x03a1b4b0 #define PHY_ID_AQR113C 0x31c31c12 #define PHY_ID_AQR813 0x31c31cb2 @@ -24,9 +24,9 @@ Signed-off-by: Alex Marginean #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) -@@ -126,6 +128,29 @@ - #define VEND1_GLOBAL_INT_VEND_MASK_GLOBAL2 BIT(1) - #define VEND1_GLOBAL_INT_VEND_MASK_GLOBAL3 BIT(0) +@@ -151,6 +153,29 @@ + #define AQR107_OP_IN_PROG_SLEEP 1000 + #define AQR107_OP_IN_PROG_TIMEOUT 100000 +/* registers in MDIO_MMD_VEND1 region */ +#define AQUANTIA_VND1_GLOBAL_SC 0x000 @@ -54,7 +54,7 @@ Signed-off-by: Alex Marginean struct aqr107_hw_stat { const char *name; int reg; -@@ -257,6 +282,51 @@ static int aqr_config_aneg(struct phy_de +@@ -282,6 +307,51 @@ static int aqr_config_aneg(struct phy_de return genphy_c45_check_and_restart_aneg(phydev, changed); } @@ -106,7 +106,7 @@ Signed-off-by: Alex Marginean static int aqr_config_intr(struct phy_device *phydev) { bool en = phydev->interrupts == PHY_INTERRUPT_ENABLED; -@@ -780,6 +850,30 @@ static struct phy_driver aqr_driver[] = +@@ -881,6 +951,30 @@ static struct phy_driver aqr_driver[] = .get_stats = aqr107_get_stats, .link_change_notify = aqr107_link_change_notify, }, @@ -137,7 +137,7 @@ Signed-off-by: Alex Marginean }; module_phy_driver(aqr_driver); -@@ -790,5 +884,7 @@ static struct mdio_device_id __maybe_unu +@@ -895,6 +989,8 @@ static struct mdio_device_id __maybe_unu { PHY_ID_MATCH_MODEL(PHY_ID_AQR405) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR113C) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) }, @@ -145,3 +145,4 @@ Signed-off-by: Alex Marginean + { PHY_ID_MATCH_MODEL(PHY_ID_AQR412) }, { } }; + diff --git a/target/linux/generic/hack-6.1/723-net-phy-aquantia-fix-system-side-protocol-mi.patch b/target/linux/generic/hack-6.1/723-net-phy-aquantia-fix-system-side-protocol-mi.patch index d99b4951b8..8e204cb146 100644 --- a/target/linux/generic/hack-6.1/723-net-phy-aquantia-fix-system-side-protocol-mi.patch +++ b/target/linux/generic/hack-6.1/723-net-phy-aquantia-fix-system-side-protocol-mi.patch @@ -14,7 +14,7 @@ Signed-off-by: Alex Marginean --- a/drivers/net/phy/aquantia_main.c +++ b/drivers/net/phy/aquantia_main.c -@@ -315,10 +315,16 @@ static int aqr_config_aneg_set_prot(stru +@@ -340,10 +340,16 @@ static int aqr_config_aneg_set_prot(stru phy_write_mmd(phydev, MDIO_MMD_VEND1, AQUANTIA_VND1_GSTART_RATE, aquantia_syscfg[if_type].start_rate); diff --git a/target/linux/generic/hack-6.1/724-net-phy-aquantia-Add-AQR113-driver-support.patch b/target/linux/generic/hack-6.1/724-net-phy-aquantia-Add-AQR113-driver-support.patch index dd32690048..0a1e970623 100644 --- a/target/linux/generic/hack-6.1/724-net-phy-aquantia-Add-AQR113-driver-support.patch +++ b/target/linux/generic/hack-6.1/724-net-phy-aquantia-Add-AQR113-driver-support.patch @@ -10,7 +10,7 @@ Add a new entry for AQR113 PHY_ID --- a/drivers/net/phy/aquantia_main.c +++ b/drivers/net/phy/aquantia_main.c -@@ -21,6 +21,7 @@ +@@ -26,6 +26,7 @@ #define PHY_ID_AQR813 0x31c31cb2 #define PHY_ID_AQR112 0x03a1b662 #define PHY_ID_AQR412 0x03a1b712 @@ -18,8 +18,8 @@ Add a new entry for AQR113 PHY_ID #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) -@@ -869,6 +870,14 @@ static struct phy_driver aqr_driver[] = - .get_strings = aqr107_get_strings, +@@ -981,6 +982,14 @@ static struct phy_driver aqr_driver[] = + .get_strings = aqr107_get_strings, .get_stats = aqr107_get_stats, }, +{ @@ -33,10 +33,11 @@ Add a new entry for AQR113 PHY_ID }; module_phy_driver(aqr_driver); -@@ -790,5 +884,6 @@ static struct mdio_device_id __maybe_unu +@@ -997,6 +1006,7 @@ static struct mdio_device_id __maybe_unu { PHY_ID_MATCH_MODEL(PHY_ID_AQR813) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR112) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR412) }, + { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) }, { } }; + diff --git a/target/linux/generic/hack-6.1/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch b/target/linux/generic/hack-6.1/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch index 57edfc118e..654fea5661 100644 --- a/target/linux/generic/hack-6.1/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch +++ b/target/linux/generic/hack-6.1/725-net-phy-aquantia-add-PHY_IDs-for-AQR112-variants.patch @@ -12,7 +12,7 @@ Signed-off-by: Daniel Golle --- a/drivers/net/phy/aquantia_main.c +++ b/drivers/net/phy/aquantia_main.c -@@ -21,6 +21,8 @@ +@@ -27,6 +27,8 @@ #define PHY_ID_AQR112 0x03a1b662 #define PHY_ID_AQR412 0x03a1b712 #define PHY_ID_AQR113 0x31c31c40 @@ -21,7 +21,7 @@ Signed-off-by: Daniel Golle #define MDIO_PHYXS_VEND_IF_STATUS 0xe812 #define MDIO_PHYXS_VEND_IF_STATUS_TYPE_MASK GENMASK(7, 3) -@@ -870,6 +872,30 @@ static struct phy_driver aqr_driver[] = +@@ -990,6 +992,30 @@ static struct phy_driver aqr_driver[] = .handle_interrupt = aqr_handle_interrupt, .read_status = aqr107_read_status, }, @@ -52,7 +52,7 @@ Signed-off-by: Daniel Golle }; module_phy_driver(aqr_driver); -@@ -900,5 +926,7 @@ static struct mdio_device_id __maybe_unu +@@ -1007,6 +1033,8 @@ static struct mdio_device_id __maybe_unu { PHY_ID_MATCH_MODEL(PHY_ID_AQR112) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR412) }, { PHY_ID_MATCH_MODEL(PHY_ID_AQR113) }, @@ -60,3 +60,4 @@ Signed-off-by: Daniel Golle + { PHY_ID_MATCH_MODEL(PHY_ID_AQR112R) }, { } }; + diff --git a/target/linux/generic/hack-6.1/760-net-usb-r8152-add-LED-configuration-from-OF.patch b/target/linux/generic/hack-6.1/760-net-usb-r8152-add-LED-configuration-from-OF.patch index f61c078521..ba03a00eb2 100644 --- a/target/linux/generic/hack-6.1/760-net-usb-r8152-add-LED-configuration-from-OF.patch +++ b/target/linux/generic/hack-6.1/760-net-usb-r8152-add-LED-configuration-from-OF.patch @@ -22,7 +22,7 @@ Signed-off-by: David Bauer #include #include #include -@@ -6886,6 +6887,22 @@ static void rtl_tally_reset(struct r8152 +@@ -6893,6 +6894,22 @@ static void rtl_tally_reset(struct r8152 ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data); } @@ -45,7 +45,7 @@ Signed-off-by: David Bauer static void r8152b_init(struct r8152 *tp) { u32 ocp_data; -@@ -6927,6 +6944,8 @@ static void r8152b_init(struct r8152 *tp +@@ -6934,6 +6951,8 @@ static void r8152b_init(struct r8152 *tp ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL); ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN); ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); @@ -54,7 +54,7 @@ Signed-off-by: David Bauer } static void r8153_init(struct r8152 *tp) -@@ -7067,6 +7086,8 @@ static void r8153_init(struct r8152 *tp) +@@ -7074,6 +7093,8 @@ static void r8153_init(struct r8152 *tp) tp->coalesce = COALESCE_SLOW; break; } @@ -63,7 +63,7 @@ Signed-off-by: David Bauer } static void r8153b_init(struct r8152 *tp) -@@ -7149,6 +7170,8 @@ static void r8153b_init(struct r8152 *tp +@@ -7156,6 +7177,8 @@ static void r8153b_init(struct r8152 *tp rtl_tally_reset(tp); tp->coalesce = 15000; /* 15 us */ diff --git a/target/linux/generic/hack-6.1/765-mxl-gpy-control-LED-reg-from-DT.patch b/target/linux/generic/hack-6.1/765-mxl-gpy-control-LED-reg-from-DT.patch index 22fa7289fd..d7165cb30a 100644 --- a/target/linux/generic/hack-6.1/765-mxl-gpy-control-LED-reg-from-DT.patch +++ b/target/linux/generic/hack-6.1/765-mxl-gpy-control-LED-reg-from-DT.patch @@ -23,7 +23,7 @@ Signed-off-by: David Bauer --- a/drivers/net/phy/mxl-gpy.c +++ b/drivers/net/phy/mxl-gpy.c -@@ -8,6 +8,7 @@ +@@ -10,6 +10,7 @@ #include #include #include @@ -31,7 +31,7 @@ Signed-off-by: David Bauer #include #include #include -@@ -30,6 +31,7 @@ +@@ -33,6 +34,7 @@ #define PHY_MIISTAT 0x18 /* MII state */ #define PHY_IMASK 0x19 /* interrupt mask */ #define PHY_ISTAT 0x1A /* interrupt status */ @@ -39,7 +39,7 @@ Signed-off-by: David Bauer #define PHY_FWV 0x1E /* firmware version */ #define PHY_MIISTAT_SPD_MASK GENMASK(2, 0) -@@ -53,10 +55,15 @@ +@@ -56,10 +58,15 @@ PHY_IMASK_ADSC | \ PHY_IMASK_ANC) @@ -55,9 +55,9 @@ Signed-off-by: David Bauer /* SGMII */ #define VSPEC1_SGMII_CTRL 0x08 #define VSPEC1_SGMII_CTRL_ANEN BIT(12) /* Aneg enable */ -@@ -80,6 +87,31 @@ static const struct { - {9, 0x73}, - }; +@@ -241,6 +248,31 @@ out: + return ret; + } +static int gpy_led_write(struct phy_device *phydev) +{ @@ -87,7 +87,7 @@ Signed-off-by: David Bauer static int gpy_config_init(struct phy_device *phydev) { int ret; -@@ -91,7 +123,10 @@ static int gpy_config_init(struct phy_de +@@ -252,7 +284,10 @@ static int gpy_config_init(struct phy_de /* Clear all pending interrupts */ ret = phy_read(phydev, PHY_ISTAT); @@ -98,4 +98,4 @@ Signed-off-by: David Bauer + return gpy_led_write(phydev); } - static int gpy_probe(struct phy_device *phydev) + static bool gpy_has_broken_mdint(struct phy_device *phydev) diff --git a/target/linux/generic/hack-6.1/773-bgmac-add-srab-switch.patch b/target/linux/generic/hack-6.1/773-bgmac-add-srab-switch.patch index 7127aa136c..633cacd1e7 100644 --- a/target/linux/generic/hack-6.1/773-bgmac-add-srab-switch.patch +++ b/target/linux/generic/hack-6.1/773-bgmac-add-srab-switch.patch @@ -78,7 +78,7 @@ Signed-off-by: Hauke Mehrtens netif_napi_del(&bgmac->napi); --- a/drivers/net/ethernet/broadcom/bgmac.h +++ b/drivers/net/ethernet/broadcom/bgmac.h -@@ -390,6 +390,7 @@ +@@ -388,6 +388,7 @@ #define BGMAC_FEAT_CC4_IF_SW_TYPE_RGMII BIT(18) #define BGMAC_FEAT_CC7_IF_TYPE_RGMII BIT(19) #define BGMAC_FEAT_IDM_MASK BIT(20) @@ -86,7 +86,7 @@ Signed-off-by: Hauke Mehrtens struct bgmac_slot_info { union { -@@ -497,6 +498,9 @@ struct bgmac { +@@ -495,6 +496,9 @@ struct bgmac { void (*cmn_maskset32)(struct bgmac *bgmac, u16 offset, u32 mask, u32 set); int (*phy_connect)(struct bgmac *bgmac); diff --git a/target/linux/generic/hack-6.1/780-usb-net-MeigLink_modem_support.patch b/target/linux/generic/hack-6.1/780-usb-net-MeigLink_modem_support.patch index e3959658a3..23f8be5d26 100644 --- a/target/linux/generic/hack-6.1/780-usb-net-MeigLink_modem_support.patch +++ b/target/linux/generic/hack-6.1/780-usb-net-MeigLink_modem_support.patch @@ -10,7 +10,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support --- a/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c -@@ -1085,6 +1085,7 @@ static const struct usb_device_id produc +@@ -1088,6 +1088,7 @@ static const struct usb_device_id produc {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0620)}, /* Quectel EM160R-GL */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)}, /* Quectel RM500Q-GL */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0801)}, /* Quectel RM520N */ @@ -29,8 +29,8 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support #define QUECTEL_VENDOR_ID 0x2c7c /* These Quectel products use Quectel's vendor ID */ -@@ -1133,6 +1135,11 @@ static const struct usb_device_id option - { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95, 0xff, 0, 0) }, +@@ -1169,6 +1171,11 @@ static const struct usb_device_id option + .driver_info = ZLP }, { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), .driver_info = RSVD(4) }, + /* Meiglink products using Qualcomm vendor ID */ diff --git a/target/linux/generic/hack-6.1/790-SFP-GE-T-ignore-TX_FAULT.patch b/target/linux/generic/hack-6.1/790-SFP-GE-T-ignore-TX_FAULT.patch index 7131b61b35..6e14d04c5f 100644 --- a/target/linux/generic/hack-6.1/790-SFP-GE-T-ignore-TX_FAULT.patch +++ b/target/linux/generic/hack-6.1/790-SFP-GE-T-ignore-TX_FAULT.patch @@ -26,17 +26,17 @@ Signed-off-by: Daniel Golle --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c -@@ -393,6 +393,9 @@ static const struct sfp_quirk sfp_quirks - // their EEPROM +@@ -404,6 +404,9 @@ static const struct sfp_quirk sfp_quirks SFP_QUIRK("HUAWEI", "MA5671A", sfp_quirk_2500basex, sfp_fixup_ignore_tx_fault), -+ + + // OEM SFP-GE-T is 1000Base-T module + SFP_QUIRK_F("OEM", "SFP-GE-T", sfp_fixup_ignore_tx_fault), - ++ // Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report // 2500MBd NRZ in their EEPROM -@@ -2303,7 +2308,8 @@ static void sfp_sm_main(struct sfp *sfp, + SFP_QUIRK_M("Lantech", "8330-262D-E", sfp_quirk_2500basex), +@@ -2334,7 +2337,8 @@ static void sfp_sm_main(struct sfp *sfp, * or t_start_up, so assume there is a fault. */ sfp_sm_fault(sfp, SFP_S_INIT_TX_FAULT, @@ -45,8 +45,8 @@ Signed-off-by: Daniel Golle + (sfp->sm_fault_retries == N_FAULT_INIT)); } else if (event == SFP_E_TIMEOUT || event == SFP_E_TX_CLEAR) { init_done: - sfp->sm_phy_retries = R_PHY_RETRY; -@@ -2535,10 +2541,12 @@ static void sfp_check_state(struct sfp * + /* Create mdiobus and start trying for PHY */ +@@ -2563,10 +2567,12 @@ static void sfp_check_state(struct sfp * mutex_lock(&sfp->st_mutex); state = sfp_get_state(sfp); changed = state ^ sfp->state; diff --git a/target/linux/generic/hack-6.1/800-GPIO-add-named-gpio-exports.patch b/target/linux/generic/hack-6.1/800-GPIO-add-named-gpio-exports.patch index 4c2a37e347..658d9c3806 100644 --- a/target/linux/generic/hack-6.1/800-GPIO-add-named-gpio-exports.patch +++ b/target/linux/generic/hack-6.1/800-GPIO-add-named-gpio-exports.patch @@ -15,7 +15,7 @@ Signed-off-by: John Crispin #include "gpiolib.h" #include "gpiolib-of.h" -@@ -1057,3 +1059,72 @@ void of_gpio_dev_init(struct gpio_chip * +@@ -1030,3 +1032,72 @@ void of_gpio_dev_init(struct gpio_chip * else gc->of_node = gdev->dev.of_node; } @@ -105,7 +105,7 @@ Signed-off-by: John Crispin { --- a/include/linux/gpio/consumer.h +++ b/include/linux/gpio/consumer.h -@@ -712,6 +712,7 @@ static inline void devm_acpi_dev_remove_ +@@ -715,6 +715,7 @@ static inline struct gpio_desc *acpi_get #if IS_ENABLED(CONFIG_GPIOLIB) && IS_ENABLED(CONFIG_GPIO_SYSFS) @@ -113,7 +113,7 @@ Signed-off-by: John Crispin int gpiod_export(struct gpio_desc *desc, bool direction_may_change); int gpiod_export_link(struct device *dev, const char *name, struct gpio_desc *desc); -@@ -719,6 +720,13 @@ void gpiod_unexport(struct gpio_desc *de +@@ -722,6 +723,13 @@ void gpiod_unexport(struct gpio_desc *de #else /* CONFIG_GPIOLIB && CONFIG_GPIO_SYSFS */ @@ -129,7 +129,7 @@ Signed-off-by: John Crispin { --- a/drivers/gpio/gpiolib-sysfs.c +++ b/drivers/gpio/gpiolib-sysfs.c -@@ -561,7 +561,7 @@ static struct class gpio_class = { +@@ -544,7 +544,7 @@ static struct class gpio_class = { * * Returns zero on success, else an error. */ @@ -138,7 +138,7 @@ Signed-off-by: John Crispin { struct gpio_chip *chip; struct gpio_device *gdev; -@@ -623,6 +623,8 @@ int gpiod_export(struct gpio_desc *desc, +@@ -606,6 +606,8 @@ int gpiod_export(struct gpio_desc *desc, offset = gpio_chip_hwgpio(desc); if (chip->names && chip->names[offset]) ioname = chip->names[offset]; @@ -147,7 +147,7 @@ Signed-off-by: John Crispin dev = device_create_with_groups(&gpio_class, &gdev->dev, MKDEV(0, 0), data, gpio_groups, -@@ -644,6 +646,12 @@ err_unlock: +@@ -627,6 +629,12 @@ err_unlock: gpiod_dbg(desc, "%s: status %d\n", __func__, status); return status; } diff --git a/target/linux/generic/hack-6.1/901-debloat_sock_diag.patch b/target/linux/generic/hack-6.1/901-debloat_sock_diag.patch index 247eb798b3..582a48cb18 100644 --- a/target/linux/generic/hack-6.1/901-debloat_sock_diag.patch +++ b/target/linux/generic/hack-6.1/901-debloat_sock_diag.patch @@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau help --- a/net/core/Makefile +++ b/net/core/Makefile -@@ -10,11 +10,12 @@ obj-$(CONFIG_SYSCTL) += sysctl_net_core. +@@ -11,11 +11,12 @@ obj-$(CONFIG_SYSCTL) += sysctl_net_core. obj-y += dev.o dev_addr_lists.o dst.o netevent.o \ neighbour.o rtnetlink.o utils.o link_watch.o filter.o \ @@ -52,15 +52,15 @@ Signed-off-by: Felix Fietkau #include -@@ -143,6 +144,7 @@ +@@ -145,6 +146,7 @@ static DEFINE_MUTEX(proto_list_mutex); static LIST_HEAD(proto_list); +DEFINE_COOKIE(sock_cookie); - static void sock_inuse_add(struct net *net, int val); - -@@ -545,6 +547,18 @@ discard_and_relse: + static void sock_def_write_space_wfree(struct sock *sk); + static void sock_def_write_space(struct sock *sk); +@@ -582,6 +584,18 @@ discard_and_relse: } EXPORT_SYMBOL(__sk_receive_skb); @@ -79,7 +79,7 @@ Signed-off-by: Felix Fietkau INDIRECT_CALLABLE_DECLARE(struct dst_entry *ip6_dst_check(struct dst_entry *, u32)); INDIRECT_CALLABLE_DECLARE(struct dst_entry *ipv4_dst_check(struct dst_entry *, -@@ -1983,9 +1997,11 @@ static void __sk_free(struct sock *sk) +@@ -2174,9 +2188,11 @@ static void __sk_free(struct sock *sk) if (likely(sk->sk_net_refcnt)) sock_inuse_add(sock_net(sk), -1); @@ -93,7 +93,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/sock_diag.c +++ b/net/core/sock_diag.c -@@ -11,7 +11,6 @@ +@@ -12,7 +12,6 @@ #include #include #include @@ -101,7 +101,7 @@ Signed-off-by: Felix Fietkau #include #include -@@ -20,20 +19,6 @@ static int (*inet_rcv_compat)(struct sk_ +@@ -21,20 +20,6 @@ static int (*inet_rcv_compat)(struct sk_ static DEFINE_MUTEX(sock_diag_table_mutex); static struct workqueue_struct *broadcast_wq; @@ -124,7 +124,7 @@ Signed-off-by: Felix Fietkau u64 res; --- a/net/ipv4/Kconfig +++ b/net/ipv4/Kconfig -@@ -424,6 +424,7 @@ config INET_TUNNEL +@@ -423,6 +423,7 @@ config INET_TUNNEL config INET_DIAG tristate "INET: socket monitoring interface" diff --git a/target/linux/generic/hack-6.1/902-debloat_proc.patch b/target/linux/generic/hack-6.1/902-debloat_proc.patch index d729b29015..bac3d4af82 100644 --- a/target/linux/generic/hack-6.1/902-debloat_proc.patch +++ b/target/linux/generic/hack-6.1/902-debloat_proc.patch @@ -29,7 +29,7 @@ Signed-off-by: Felix Fietkau --- a/fs/locks.c +++ b/fs/locks.c -@@ -2953,6 +2953,8 @@ static const struct seq_operations locks +@@ -2909,6 +2909,8 @@ static const struct seq_operations locks static int __init proc_locks_init(void) { @@ -40,7 +40,7 @@ Signed-off-by: Felix Fietkau return 0; --- a/fs/proc/Kconfig +++ b/fs/proc/Kconfig -@@ -100,6 +100,11 @@ config PROC_CHILDREN +@@ -101,6 +101,11 @@ config PROC_CHILDREN Say Y if you are running any user-space software which takes benefit from this interface. For example, rkt is such a piece of software. @@ -66,7 +66,7 @@ Signed-off-by: Felix Fietkau } --- a/fs/proc/proc_tty.c +++ b/fs/proc/proc_tty.c -@@ -133,7 +133,10 @@ static const struct seq_operations tty_d +@@ -131,7 +131,10 @@ static const struct seq_operations tty_d void proc_tty_register_driver(struct tty_driver *driver) { struct proc_dir_entry *ent; @@ -78,7 +78,7 @@ Signed-off-by: Felix Fietkau if (!driver->driver_name || driver->proc_entry || !driver->ops->proc_show) return; -@@ -150,6 +153,9 @@ void proc_tty_unregister_driver(struct t +@@ -148,6 +151,9 @@ void proc_tty_unregister_driver(struct t { struct proc_dir_entry *ent; @@ -88,7 +88,7 @@ Signed-off-by: Felix Fietkau ent = driver->proc_entry; if (!ent) return; -@@ -164,6 +170,9 @@ void proc_tty_unregister_driver(struct t +@@ -162,6 +168,9 @@ void proc_tty_unregister_driver(struct t */ void __init proc_tty_init(void) { @@ -135,7 +135,7 @@ Signed-off-by: Felix Fietkau do { \ --- a/ipc/msg.c +++ b/ipc/msg.c -@@ -1350,6 +1350,9 @@ void __init msg_init(void) +@@ -1370,6 +1370,9 @@ void __init msg_init(void) { msg_init_ns(&init_ipc_ns); @@ -235,7 +235,7 @@ Signed-off-by: Felix Fietkau if (!pe) --- a/mm/vmalloc.c +++ b/mm/vmalloc.c -@@ -3964,6 +3964,8 @@ static const struct seq_operations vmall +@@ -4183,6 +4183,8 @@ static const struct seq_operations vmall static int __init proc_vmalloc_init(void) { @@ -246,7 +246,7 @@ Signed-off-by: Felix Fietkau &vmalloc_op, --- a/mm/vmstat.c +++ b/mm/vmstat.c -@@ -2083,10 +2083,12 @@ void __init init_mm_internals(void) +@@ -2109,10 +2109,12 @@ void __init init_mm_internals(void) start_shepherd_timer(); #endif #ifdef CONFIG_PROC_FS @@ -286,7 +286,7 @@ Signed-off-by: Felix Fietkau goto err; --- a/net/core/net-procfs.c +++ b/net/core/net-procfs.c -@@ -317,10 +317,12 @@ static int __net_init dev_proc_net_init( +@@ -319,10 +319,12 @@ static int __net_init dev_proc_net_init( if (!proc_create_net("dev", 0444, net->proc_net, &dev_seq_ops, sizeof(struct seq_net_private))) goto out; @@ -301,7 +301,7 @@ Signed-off-by: Felix Fietkau sizeof(struct seq_net_private))) goto out_softnet; -@@ -330,9 +332,11 @@ static int __net_init dev_proc_net_init( +@@ -332,9 +334,11 @@ static int __net_init dev_proc_net_init( out: return rc; out_ptype: @@ -315,7 +315,7 @@ Signed-off-by: Felix Fietkau out_dev: remove_proc_entry("dev", net->proc_net); goto out; -@@ -342,8 +346,10 @@ static void __net_exit dev_proc_net_exit +@@ -344,8 +348,10 @@ static void __net_exit dev_proc_net_exit { wext_proc_exit(net); @@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -3855,6 +3855,8 @@ static __net_initdata struct pernet_oper +@@ -4088,6 +4088,8 @@ static __net_initdata struct pernet_oper static int __init proto_init(void) { @@ -341,7 +341,7 @@ Signed-off-by: Felix Fietkau --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c -@@ -3024,11 +3024,13 @@ static const struct seq_operations fib_r +@@ -3031,11 +3031,13 @@ static const struct seq_operations fib_r int __net_init fib_proc_init(struct net *net) { @@ -357,7 +357,7 @@ Signed-off-by: Felix Fietkau fib_triestat_seq_show, NULL)) goto out2; -@@ -3039,17 +3041,21 @@ int __net_init fib_proc_init(struct net +@@ -3046,17 +3048,21 @@ int __net_init fib_proc_init(struct net return 0; out3: @@ -396,7 +396,7 @@ Signed-off-by: Felix Fietkau } --- a/net/ipv4/route.c +++ b/net/ipv4/route.c -@@ -387,6 +387,9 @@ static struct pernet_operations ip_rt_pr +@@ -380,6 +380,9 @@ static struct pernet_operations ip_rt_pr static int __init ip_rt_proc_init(void) { diff --git a/target/linux/generic/hack-6.1/904-debloat_dma_buf.patch b/target/linux/generic/hack-6.1/904-debloat_dma_buf.patch index 8eb705341d..48c001bfab 100644 --- a/target/linux/generic/hack-6.1/904-debloat_dma_buf.patch +++ b/target/linux/generic/hack-6.1/904-debloat_dma_buf.patch @@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/base/Kconfig +++ b/drivers/base/Kconfig -@@ -187,7 +187,7 @@ config SOC_BUS +@@ -198,7 +198,7 @@ config SOC_BUS source "drivers/base/regmap/Kconfig" config DMA_SHARED_BUFFER @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau +dma-buf-objs-$(CONFIG_DMABUF_HEAPS_CMA) += cma_heap.o --- a/drivers/dma-buf/Makefile +++ b/drivers/dma-buf/Makefile -@@ -1,18 +1,22 @@ +@@ -1,12 +1,14 @@ # SPDX-License-Identifier: GPL-2.0-only -obj-y := dma-buf.o dma-fence.o dma-fence-array.o dma-fence-chain.o \ +obj-$(CONFIG_DMA_SHARED_BUFFER) := dma-shared-buffer.o @@ -54,8 +54,7 @@ Signed-off-by: Felix Fietkau dmabuf_selftests-y := \ selftest.o \ - st-dma-fence.o \ - st-dma-fence-chain.o \ +@@ -15,4 +17,6 @@ dmabuf_selftests-y := \ st-dma-fence-unwrap.o \ st-dma-resv.o @@ -65,7 +64,7 @@ Signed-off-by: Felix Fietkau +dma-shared-buffer-objs := $(dma-buf-objs-y) --- a/drivers/dma-buf/dma-buf.c +++ b/drivers/dma-buf/dma-buf.c -@@ -1513,4 +1513,5 @@ static void __exit dma_buf_deinit(void) +@@ -1583,4 +1583,5 @@ static void __exit dma_buf_deinit(void) kern_unmount(dma_buf_mnt); dma_buf_uninit_sysfs_statistics(); } @@ -74,7 +73,7 @@ Signed-off-by: Felix Fietkau +MODULE_LICENSE("GPL"); --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -4175,6 +4175,7 @@ int wake_up_state(struct task_struct *p, +@@ -4363,6 +4363,7 @@ int wake_up_state(struct task_struct *p, { return try_to_wake_up(p, state, 0); } @@ -84,7 +83,7 @@ Signed-off-by: Felix Fietkau * Perform scheduler related setup for a newly forked process p. --- a/fs/d_path.c +++ b/fs/d_path.c -@@ -316,6 +316,7 @@ char *dynamic_dname(struct dentry *dentr +@@ -313,6 +313,7 @@ char *dynamic_dname(char *buffer, int bu buffer += buflen - sz; return memcpy(buffer, temp, sz); } diff --git a/target/linux/generic/hack-6.1/911-kobject_add_broadcast_uevent.patch b/target/linux/generic/hack-6.1/911-kobject_add_broadcast_uevent.patch index a487d55193..9854585d25 100644 --- a/target/linux/generic/hack-6.1/911-kobject_add_broadcast_uevent.patch +++ b/target/linux/generic/hack-6.1/911-kobject_add_broadcast_uevent.patch @@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau #ifdef CONFIG_UEVENT_HELPER /* path to the userspace helper executed on an event */ extern char uevent_helper[]; -@@ -244,4 +246,7 @@ int kobject_synth_uevent(struct kobject +@@ -224,4 +226,7 @@ int kobject_synth_uevent(struct kobject __printf(2, 3) int add_uevent_var(struct kobj_uevent_env *env, const char *format, ...); diff --git a/target/linux/generic/hack-6.1/920-device_tree_cmdline.patch b/target/linux/generic/hack-6.1/920-device_tree_cmdline.patch index 2722266722..cc384bb553 100644 --- a/target/linux/generic/hack-6.1/920-device_tree_cmdline.patch +++ b/target/linux/generic/hack-6.1/920-device_tree_cmdline.patch @@ -9,7 +9,7 @@ Subject: [PATCH] of/ftd: add device tree cmdline --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c -@@ -1158,6 +1158,9 @@ int __init early_init_dt_scan_chosen(uns +@@ -1183,6 +1183,9 @@ int __init early_init_dt_scan_chosen(cha p = of_get_flat_dt_prop(node, "bootargs", &l); if (p != NULL && l > 0) strscpy(cmdline, p, min(l, COMMAND_LINE_SIZE)); @@ -17,5 +17,5 @@ Subject: [PATCH] of/ftd: add device tree cmdline + if (p != NULL && l > 0) + strlcat(cmdline, p, min_t(int, strlen(cmdline) + (int)l, COMMAND_LINE_SIZE)); + handle_cmdline: /* - * CONFIG_CMDLINE is meant to be a default in case nothing else diff --git a/target/linux/generic/hack-6.1/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch b/target/linux/generic/hack-6.1/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch index 4f4d6c7509..98081c4b64 100644 --- a/target/linux/generic/hack-6.1/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch +++ b/target/linux/generic/hack-6.1/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch @@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/base/core.c +++ b/drivers/base/core.c -@@ -1562,7 +1562,7 @@ static void device_links_purge(struct de +@@ -1700,7 +1700,7 @@ static void device_links_purge(struct de #define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \ DL_FLAG_PM_RUNTIME) -- 2.30.2