[openwrt/openwrt] generic: 6.6: manually refresh pending patches
LEDE Commits
lede-commits at lists.infradead.org
Mon Mar 11 12:17:43 PDT 2024
robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/5b6bca812dee241eaa4aa13aed295926550b59c9
commit 5b6bca812dee241eaa4aa13aed295926550b59c9
Author: Weijie Gao <hackpascal at gmail.com>
AuthorDate: Thu Jan 4 02:02:00 2024 +0800
generic: 6.6: manually refresh pending patches
Refresh pending patches for kernel 6.6.
Signed-off-by: Daniel Golle <daniel at makrotopia.org>
Signed-off-by: Weijie Gao <hackpascal at gmail.com>
---
...c_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch | 6 +--
...-.rename2-and-add-RENAME_WHITEOUT-support.patch | 32 +++++++-------
.../141-jffs2-add-RENAME_EXCHANGE-support.patch | 12 +++---
.../pending-6.6/142-jffs2-add-splice-ops.patch | 2 +-
...do-not-send-arp-replies-if-src-and-target.patch | 4 +-
...let_the_alarm_to_be_used_as_wakeup_source.patch | 2 +-
.../pending-6.6/203-kallsyms_uncompressed.patch | 4 +-
.../pending-6.6/205-backtrace_module_info.patch | 4 +-
.../pending-6.6/302-mips_no_branch_likely.patch | 2 +-
.../pending-6.6/305-mips_module_reloc.patch | 2 +-
.../pending-6.6/332-arc-add-OWRTDTB-section.patch | 2 +-
...egister-NVMEM-devices-for-partitions-with.patch | 2 +-
...ck-use-notifier-to-create-ubiblock-from-p.patch | 2 +-
.../450-09-block-partitions-populate-fwnode.patch | 4 +-
.../450-11-block-implement-NVMEM-provider.patch | 10 ++---
.../450-13-mmc-core-set-card-fwnode_handle.patch | 2 +-
...0-14-mmc-block-set-fwnode-of-disk-devices.patch | 2 +-
...465-m25p80-mx-disable-software-protection.patch | 10 ++---
.../479-mtd-spi-nor-add-xtx-xt25f128b.patch | 2 +-
...pi-nor-add-support-for-Gigadevice-GD25D05.patch | 2 +-
...spinand-Add-support-for-Etron-EM73D044VCx.patch | 16 ++++---
...-mounting-ubi0-rootfs-in-init-do_mounts.c.patch | 15 ++++---
...-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch | 2 +-
...td-spi-nor-disable-16-bit-sr-for-macronix.patch | 8 ++--
.../pending-6.6/500-fs_cdrom_dependencies.patch | 10 ++---
...t-bypass-device-lookup-for-dev-fit-rootfs.patch | 18 ++++----
.../530-jffs2_make_lzma_available.patch | 48 +++++++++++++--------
.../pending-6.6/630-packet_socket_type.patch | 14 +++---
...jecting-with-source-address-failed-policy.patch | 8 ++--
...80-NET-skip-GRO-for-foreign-MAC-addresses.patch | 10 ++---
.../683-of_net-add-mac-address-to-of-tree.patch | 6 +--
...-add-detach-callback-to-struct-phy_driver.patch | 6 +--
...ge-add-knob-for-filtering-rx-tx-BPDU-pack.patch | 50 +++++++++++-----------
...-realtek-detect-early-version-of-RTL8221B.patch | 2 +-
...t-mtk_eth_soc-work-around-issue-with-send.patch | 8 ++++
...t-pcs-add-driver-for-MediaTek-USXGMII-PCS.patch | 14 +++---
...d-optional-threading-for-backlog-processi.patch | 4 +-
...rovide-old-opp-to-config_clks-on-_set_opp.patch | 2 +-
...-core-support-mac-base-fixed-layout-cells.patch | 6 +--
.../811-pci_disable_usb_common_quirks.patch | 2 +-
.../generic/pending-6.6/834-ledtrig-libata.patch | 8 ++--
...M-dts-nxp-imx7d-pico-add-cpu-supply-nodes.patch | 4 +-
.../generic/pending-6.6/920-mangle_bootargs.patch | 6 +--
43 files changed, 198 insertions(+), 177 deletions(-)
diff --git a/target/linux/generic/pending-6.6/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch b/target/linux/generic/pending-6.6/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
index 4bf473f9a7..099b07ef7a 100644
--- a/target/linux/generic/pending-6.6/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
+++ b/target/linux/generic/pending-6.6/120-Fix-alloc_node_mem_map-with-ARCH_PFN_OFFSET-calcu.patch
@@ -69,9 +69,9 @@ previously calculated offset is zero for the named platform it is able to boot
Signed-off-by: Tobias Wolf <dev-NTEO at vplace.de>
---
---- a/mm/page_alloc.c
-+++ b/mm/page_alloc.c
-@@ -7897,7 +7897,7 @@ static void __init alloc_node_mem_map(st
+--- a/mm/mm_init.c
++++ b/mm/mm_init.c
+@@ -1673,7 +1673,7 @@ static void __init alloc_node_mem_map(st
if (pgdat == NODE_DATA(0)) {
mem_map = NODE_DATA(0)->node_mem_map;
if (page_to_pfn(mem_map) != pgdat->node_start_pfn)
diff --git a/target/linux/generic/pending-6.6/140-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch b/target/linux/generic/pending-6.6/140-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
index 8f40ae3ba2..b82f3d8012 100644
--- a/target/linux/generic/pending-6.6/140-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
+++ b/target/linux/generic/pending-6.6/140-jffs2-use-.rename2-and-add-RENAME_WHITEOUT-support.patch
@@ -8,18 +8,18 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
--- a/fs/jffs2/dir.c
+++ b/fs/jffs2/dir.c
-@@ -614,8 +614,8 @@ static int jffs2_rmdir (struct inode *di
+@@ -617,8 +617,8 @@ static int jffs2_rmdir (struct inode *di
return ret;
}
--static int jffs2_mknod (struct user_namespace *mnt_userns, struct inode *dir_i,
+-static int jffs2_mknod (struct mnt_idmap *idmap, struct inode *dir_i,
- struct dentry *dentry, umode_t mode, dev_t rdev)
-+static int __jffs2_mknod (struct user_namespace *mnt_userns, struct inode *dir_i,
-+ struct dentry *dentry, umode_t mode, dev_t rdev, bool whiteout)
++static int __jffs2_mknod (struct mnt_idmap *idmap, struct inode *dir_i,
++ struct dentry *dentry, umode_t mode, dev_t rdev, bool whiteout)
{
struct jffs2_inode_info *f, *dir_f;
struct jffs2_sb_info *c;
-@@ -754,7 +754,11 @@ static int jffs2_mknod (struct user_name
+@@ -758,7 +758,11 @@ static int jffs2_mknod (struct mnt_idmap
mutex_unlock(&dir_f->sem);
jffs2_complete_reservation(c);
@@ -32,27 +32,27 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
return 0;
fail:
-@@ -762,6 +766,19 @@ static int jffs2_mknod (struct user_name
+@@ -766,6 +770,19 @@ static int jffs2_mknod (struct mnt_idmap
return ret;
}
-+static int jffs2_mknod (struct user_namespace *mnt_userns, struct inode *dir_i,
-+ struct dentry *dentry, umode_t mode, dev_t rdev)
++static int jffs2_mknod (struct mnt_idmap *idmap, struct inode *dir_i,
++ struct dentry *dentry, umode_t mode, dev_t rdev)
+{
-+ return __jffs2_mknod(mnt_userns, dir_i, dentry, mode, rdev, false);
++ return __jffs2_mknod(idmap, dir_i, dentry, mode, rdev, false);
+}
+
-+static int jffs2_whiteout (struct user_namespace *mnt_userns, struct inode *old_dir,
-+ struct dentry *old_dentry)
++static int jffs2_whiteout (struct mnt_idmap *idmap, struct inode *old_dir,
++ struct dentry *old_dentry)
+{
-+ return __jffs2_mknod(mnt_userns, old_dir, old_dentry, S_IFCHR | WHITEOUT_MODE,
++ return __jffs2_mknod(idmap, old_dir, old_dentry, S_IFCHR | WHITEOUT_MODE,
+ WHITEOUT_DEV, true);
+}
+
- static int jffs2_rename (struct user_namespace *mnt_userns,
+ static int jffs2_rename (struct mnt_idmap *idmap,
struct inode *old_dir_i, struct dentry *old_dentry,
struct inode *new_dir_i, struct dentry *new_dentry,
-@@ -773,7 +790,7 @@ static int jffs2_rename (struct user_nam
+@@ -777,7 +794,7 @@ static int jffs2_rename (struct mnt_idma
uint8_t type;
uint32_t now;
@@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
return -EINVAL;
/* The VFS will check for us and prevent trying to rename a
-@@ -839,9 +856,14 @@ static int jffs2_rename (struct user_nam
+@@ -843,9 +860,14 @@ static int jffs2_rename (struct mnt_idma
if (d_is_dir(old_dentry) && !victim_f)
inc_nlink(new_dir_i);
@@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
- old_dentry->d_name.name, old_dentry->d_name.len, NULL, now);
+ if (flags & RENAME_WHITEOUT)
+ /* Replace with whiteout */
-+ ret = jffs2_whiteout(mnt_userns, old_dir_i, old_dentry);
++ ret = jffs2_whiteout(idmap, old_dir_i, old_dentry);
+ else
+ /* Unlink the original */
+ ret = jffs2_do_unlink(c, JFFS2_INODE_INFO(old_dir_i),
diff --git a/target/linux/generic/pending-6.6/141-jffs2-add-RENAME_EXCHANGE-support.patch b/target/linux/generic/pending-6.6/141-jffs2-add-RENAME_EXCHANGE-support.patch
index f58fc791d2..c3a528ec90 100644
--- a/target/linux/generic/pending-6.6/141-jffs2-add-RENAME_EXCHANGE-support.patch
+++ b/target/linux/generic/pending-6.6/141-jffs2-add-RENAME_EXCHANGE-support.patch
@@ -6,7 +6,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
--- a/fs/jffs2/dir.c
+++ b/fs/jffs2/dir.c
-@@ -787,18 +787,31 @@ static int jffs2_rename (struct user_nam
+@@ -791,18 +791,31 @@ static int jffs2_rename (struct mnt_idma
int ret;
struct jffs2_sb_info *c = JFFS2_SB_INFO(old_dir_i->i_sb);
struct jffs2_inode_info *victim_f = NULL;
@@ -40,7 +40,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
victim_f = JFFS2_INODE_INFO(d_inode(new_dentry));
if (d_is_dir(new_dentry)) {
struct jffs2_full_dirent *fd;
-@@ -833,7 +846,7 @@ static int jffs2_rename (struct user_nam
+@@ -837,7 +850,7 @@ static int jffs2_rename (struct mnt_idma
if (ret)
return ret;
@@ -49,10 +49,10 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
/* There was a victim. Kill it off nicely */
if (d_is_dir(new_dentry))
clear_nlink(d_inode(new_dentry));
-@@ -859,6 +872,12 @@ static int jffs2_rename (struct user_nam
+@@ -863,6 +876,12 @@ static int jffs2_rename (struct mnt_idma
if (flags & RENAME_WHITEOUT)
/* Replace with whiteout */
- ret = jffs2_whiteout(mnt_userns, old_dir_i, old_dentry);
+ ret = jffs2_whiteout(idmap, old_dir_i, old_dentry);
+ else if (flags & RENAME_EXCHANGE)
+ /* Replace the original */
+ ret = jffs2_do_link(c, JFFS2_INODE_INFO(old_dir_i),
@@ -62,7 +62,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
else
/* Unlink the original */
ret = jffs2_do_unlink(c, JFFS2_INODE_INFO(old_dir_i),
-@@ -890,7 +909,7 @@ static int jffs2_rename (struct user_nam
+@@ -895,7 +914,7 @@ static int jffs2_rename (struct mnt_idma
return ret;
}
@@ -70,4 +70,4 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
+ if (d_is_dir(old_dentry) && !(flags & RENAME_EXCHANGE))
drop_nlink(old_dir_i);
- new_dir_i->i_mtime = new_dir_i->i_ctime = old_dir_i->i_mtime = old_dir_i->i_ctime = ITIME(now);
+ old_dir_i->i_mtime = inode_set_ctime_to_ts(old_dir_i, ITIME(now));
diff --git a/target/linux/generic/pending-6.6/142-jffs2-add-splice-ops.patch b/target/linux/generic/pending-6.6/142-jffs2-add-splice-ops.patch
index de847a1f5c..ea57158cc2 100644
--- a/target/linux/generic/pending-6.6/142-jffs2-add-splice-ops.patch
+++ b/target/linux/generic/pending-6.6/142-jffs2-add-splice-ops.patch
@@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
.open = generic_file_open,
.read_iter = generic_file_read_iter,
.write_iter = generic_file_write_iter,
-+ .splice_read = generic_file_splice_read,
++ .splice_read = filemap_splice_read,
+ .splice_write = iter_file_splice_write,
.unlocked_ioctl=jffs2_ioctl,
.mmap = generic_file_readonly_mmap,
diff --git a/target/linux/generic/pending-6.6/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch b/target/linux/generic/pending-6.6/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch
index f420d210c2..3abeacaffb 100644
--- a/target/linux/generic/pending-6.6/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch
+++ b/target/linux/generic/pending-6.6/151-net-bridge-do-not-send-arp-replies-if-src-and-target.patch
@@ -17,8 +17,8 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
+++ b/net/bridge/br_arp_nd_proxy.c
@@ -204,7 +204,10 @@ void br_do_proxy_suppress_arp(struct sk_
if ((p && (p->flags & BR_PROXYARP)) ||
- (f->dst && (f->dst->flags & (BR_PROXYARP_WIFI |
- BR_NEIGH_SUPPRESS)))) {
+ (f->dst && (f->dst->flags & BR_PROXYARP_WIFI)) ||
+ br_is_neigh_suppress_enabled(f->dst, vid)) {
- if (!vid)
+ replied = true;
+ if (!memcmp(n->ha, sha, dev->addr_len))
diff --git a/target/linux/generic/pending-6.6/191-rtc-rs5c372-let_the_alarm_to_be_used_as_wakeup_source.patch b/target/linux/generic/pending-6.6/191-rtc-rs5c372-let_the_alarm_to_be_used_as_wakeup_source.patch
index a9a5cdf8ba..85e5600847 100644
--- a/target/linux/generic/pending-6.6/191-rtc-rs5c372-let_the_alarm_to_be_used_as_wakeup_source.patch
+++ b/target/linux/generic/pending-6.6/191-rtc-rs5c372-let_the_alarm_to_be_used_as_wakeup_source.patch
@@ -26,8 +26,8 @@ Signed-off-by: Daniel González Cabanelas <dgcbueu at gmail.com>
dev_dbg(&client->dev, "%s\n", __func__);
@@ -868,6 +869,12 @@ static int rs5c372_probe(struct i2c_clie
- else
rs5c372->type = id->driver_data;
+ }
+#ifdef CONFIG_OF
+ if(of_property_read_bool(client->dev.of_node,
diff --git a/target/linux/generic/pending-6.6/203-kallsyms_uncompressed.patch b/target/linux/generic/pending-6.6/203-kallsyms_uncompressed.patch
index 78ed262b78..5c6f620749 100644
--- a/target/linux/generic/pending-6.6/203-kallsyms_uncompressed.patch
+++ b/target/linux/generic/pending-6.6/203-kallsyms_uncompressed.patch
@@ -66,8 +66,8 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
static int base_relative;
static int lto_clang;
@@ -608,6 +609,9 @@ static void write_src(void)
- (unsigned char)(table[i]->seq >> 0));
- printf("\n");
+
+ free(markers);
+ if (uncompressed)
+ return;
diff --git a/target/linux/generic/pending-6.6/205-backtrace_module_info.patch b/target/linux/generic/pending-6.6/205-backtrace_module_info.patch
index 27a1347981..7bbb596a5d 100644
--- a/target/linux/generic/pending-6.6/205-backtrace_module_info.patch
+++ b/target/linux/generic/pending-6.6/205-backtrace_module_info.patch
@@ -32,8 +32,8 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
+ mod = __module_address(value);
+ if (mod)
+ snprintf(sym + len, sizeof(sym) - len, " [%s@%p+0x%x]",
-+ mod->name, mod->core_layout.base,
-+ mod->core_layout.size);
++ mod->name, mod->mem[MOD_TEXT].base,
++ mod->mem[MOD_TEXT].size);
#endif
+ return string(buf, end, sym, spec);
}
diff --git a/target/linux/generic/pending-6.6/302-mips_no_branch_likely.patch b/target/linux/generic/pending-6.6/302-mips_no_branch_likely.patch
index 542fba651f..669aa8143a 100644
--- a/target/linux/generic/pending-6.6/302-mips_no_branch_likely.patch
+++ b/target/linux/generic/pending-6.6/302-mips_no_branch_likely.patch
@@ -17,6 +17,6 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
#
-cflags-y += -G 0 -mno-abicalls -fno-pic -pipe
+cflags-y += -G 0 -mno-abicalls -fno-pic -pipe -mno-branch-likely
- cflags-y += -msoft-float
+ cflags-y += -msoft-float -Wa,-msoft-float
LDFLAGS_vmlinux += -G 0 -static -n -nostdlib
KBUILD_AFLAGS_MODULE += -mlong-calls
diff --git a/target/linux/generic/pending-6.6/305-mips_module_reloc.patch b/target/linux/generic/pending-6.6/305-mips_module_reloc.patch
index 5de9019677..6d13574b66 100644
--- a/target/linux/generic/pending-6.6/305-mips_module_reloc.patch
+++ b/target/linux/generic/pending-6.6/305-mips_module_reloc.patch
@@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
+++ b/arch/mips/Makefile
@@ -97,8 +97,18 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlin
cflags-y += -G 0 -mno-abicalls -fno-pic -pipe -mno-branch-likely
- cflags-y += -msoft-float
+ cflags-y += -msoft-float -Wa,-msoft-float
LDFLAGS_vmlinux += -G 0 -static -n -nostdlib
+ifdef CONFIG_64BIT
KBUILD_AFLAGS_MODULE += -mlong-calls
diff --git a/target/linux/generic/pending-6.6/332-arc-add-OWRTDTB-section.patch b/target/linux/generic/pending-6.6/332-arc-add-OWRTDTB-section.patch
index 30158cf399..4a76e216d5 100644
--- a/target/linux/generic/pending-6.6/332-arc-add-OWRTDTB-section.patch
+++ b/target/linux/generic/pending-6.6/332-arc-add-OWRTDTB-section.patch
@@ -74,7 +74,7 @@ Signed-off-by: Evgeniy Didin <Evgeniy.Didin at synopsys.com>
+ *
+ * Note: "OWRTDTB:" won't be overwritten with .dtb, .dtb will follow it.
+ */
-+ .owrt : {
++ .owrt : {
+ *(.owrt)
+ . = ALIGN(PAGE_SIZE);
+ }
diff --git a/target/linux/generic/pending-6.6/401-mtd-don-t-register-NVMEM-devices-for-partitions-with.patch b/target/linux/generic/pending-6.6/401-mtd-don-t-register-NVMEM-devices-for-partitions-with.patch
index 42b5a564b1..52acb0633b 100644
--- a/target/linux/generic/pending-6.6/401-mtd-don-t-register-NVMEM-devices-for-partitions-with.patch
+++ b/target/linux/generic/pending-6.6/401-mtd-don-t-register-NVMEM-devices-for-partitions-with.patch
@@ -43,6 +43,6 @@ Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
+ of_device_is_compatible(node, "brcm,env"))
+ return 0;
+
- config.id = -1;
+ config.id = NVMEM_DEVID_NONE;
config.dev = &mtd->dev;
config.name = dev_name(&mtd->dev);
diff --git a/target/linux/generic/pending-6.6/450-03-mtd-ubi-block-use-notifier-to-create-ubiblock-from-p.patch b/target/linux/generic/pending-6.6/450-03-mtd-ubi-block-use-notifier-to-create-ubiblock-from-p.patch
index eda3b108da..421daa0125 100644
--- a/target/linux/generic/pending-6.6/450-03-mtd-ubi-block-use-notifier-to-create-ubiblock-from-p.patch
+++ b/target/linux/generic/pending-6.6/450-03-mtd-ubi-block-use-notifier-to-create-ubiblock-from-p.patch
@@ -25,7 +25,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
+#include <linux/namei.h>
#include <linux/slab.h>
#include <linux/mtd/ubi.h>
- #include <linux/workqueue.h>
+ #include <linux/blkdev.h>
@@ -67,10 +68,10 @@ struct ubiblock_pdu {
};
diff --git a/target/linux/generic/pending-6.6/450-09-block-partitions-populate-fwnode.patch b/target/linux/generic/pending-6.6/450-09-block-partitions-populate-fwnode.patch
index 8aa5cba678..b46044f5d9 100644
--- a/target/linux/generic/pending-6.6/450-09-block-partitions-populate-fwnode.patch
+++ b/target/linux/generic/pending-6.6/450-09-block-partitions-populate-fwnode.patch
@@ -21,10 +21,10 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
+
#include "check.h"
- static int (*check_part[])(struct parsed_partitions *) = {
+ static int (*const check_part[])(struct parsed_partitions *) = {
@@ -298,6 +300,43 @@ static ssize_t whole_disk_show(struct de
}
- static DEVICE_ATTR(whole_disk, 0444, whole_disk_show, NULL);
+ static const DEVICE_ATTR(whole_disk, 0444, whole_disk_show, NULL);
+static struct fwnode_handle *find_partition_fwnode(struct block_device *bdev)
+{
diff --git a/target/linux/generic/pending-6.6/450-11-block-implement-NVMEM-provider.patch b/target/linux/generic/pending-6.6/450-11-block-implement-NVMEM-provider.patch
index e18b0c3a5c..d1972d97dc 100644
--- a/target/linux/generic/pending-6.6/450-11-block-implement-NVMEM-provider.patch
+++ b/target/linux/generic/pending-6.6/450-11-block-implement-NVMEM-provider.patch
@@ -33,7 +33,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
+
source "block/partitions/Kconfig"
- config BLOCK_COMPAT
+ config BLK_MQ_PCI
--- a/block/Makefile
+++ b/block/Makefile
@@ -35,6 +35,7 @@ obj-$(CONFIG_BLK_DEV_ZONED) += blk-zoned
@@ -97,7 +97,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
+ if (!bnv->bdev->bd_disk->fops->open)
+ return -EIO;
+
-+ ret = bnv->bdev->bd_disk->fops->open(bnv->bdev, FMODE_READ);
++ ret = bnv->bdev->bd_disk->fops->open(bnv->bdev->bd_disk, BLK_OPEN_READ);
+ if (ret)
+ return ret;
+
@@ -119,12 +119,12 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
+ }
+
+err_release_bdev:
-+ bnv->bdev->bd_disk->fops->release(bnv->bdev->bd_disk, FMODE_READ);
++ bnv->bdev->bd_disk->fops->release(bnv->bdev->bd_disk);
+
+ return ret;
+}
+
-+static int blk_nvmem_register(struct device *dev, struct class_interface *iface)
++static int blk_nvmem_register(struct device *dev)
+{
+ struct device_node *np = dev_of_node(dev);
+ struct block_device *bdev = dev_to_bdev(dev);
@@ -192,7 +192,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
+ return 0;
+}
+
-+static void blk_nvmem_unregister(struct device *dev, struct class_interface *iface)
++static void blk_nvmem_unregister(struct device *dev)
+{
+ struct block_device *bdev = dev_to_bdev(dev);
+ struct blk_nvmem *bnv_c, *bnv = NULL;
diff --git a/target/linux/generic/pending-6.6/450-13-mmc-core-set-card-fwnode_handle.patch b/target/linux/generic/pending-6.6/450-13-mmc-core-set-card-fwnode_handle.patch
index fada280437..cfc43318ca 100644
--- a/target/linux/generic/pending-6.6/450-13-mmc-core-set-card-fwnode_handle.patch
+++ b/target/linux/generic/pending-6.6/450-13-mmc-core-set-card-fwnode_handle.patch
@@ -13,8 +13,8 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
--- a/drivers/mmc/core/bus.c
+++ b/drivers/mmc/core/bus.c
@@ -363,6 +363,8 @@ int mmc_add_card(struct mmc_card *card)
+
mmc_add_card_debugfs(card);
- #endif
card->dev.of_node = mmc_of_find_child_device(card->host, 0);
+ if (card->dev.of_node && !card->dev.fwnode)
+ card->dev.fwnode = &card->dev.of_node->fwnode;
diff --git a/target/linux/generic/pending-6.6/450-14-mmc-block-set-fwnode-of-disk-devices.patch b/target/linux/generic/pending-6.6/450-14-mmc-block-set-fwnode-of-disk-devices.patch
index a9e53f1155..e645855475 100644
--- a/target/linux/generic/pending-6.6/450-14-mmc-block-set-fwnode-of-disk-devices.patch
+++ b/target/linux/generic/pending-6.6/450-14-mmc-block-set-fwnode-of-disk-devices.patch
@@ -36,4 +36,4 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
+
string_get_size((u64)size, 512, STRING_UNITS_2,
cap_str, sizeof(cap_str));
- pr_info("%s: %s %s %s %s\n",
+ pr_info("%s: %s %s %s%s\n",
diff --git a/target/linux/generic/pending-6.6/465-m25p80-mx-disable-software-protection.patch b/target/linux/generic/pending-6.6/465-m25p80-mx-disable-software-protection.patch
index 1e28077338..0bed77b3b5 100644
--- a/target/linux/generic/pending-6.6/465-m25p80-mx-disable-software-protection.patch
+++ b/target/linux/generic/pending-6.6/465-m25p80-mx-disable-software-protection.patch
@@ -8,11 +8,11 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
--- a/drivers/mtd/spi-nor/macronix.c
+++ b/drivers/mtd/spi-nor/macronix.c
-@@ -106,6 +106,7 @@ static void macronix_nor_default_init(st
+@@ -115,6 +115,7 @@ static void macronix_nor_default_init(st
{
- nor->params->quad_enable = spi_nor_sr1_bit6_quad_enable;
- nor->params->set_4byte_addr_mode = spi_nor_set_4byte_addr_mode;
+ if (!nor->params->set_4byte_addr_mode)
+ nor->params->set_4byte_addr_mode = spi_nor_set_4byte_addr_mode_en4b_ex4b;
+ nor->flags |= SNOR_F_HAS_LOCK;
- }
- static const struct spi_nor_fixups macronix_nor_fixups = {
+ return 0;
+ }
diff --git a/target/linux/generic/pending-6.6/479-mtd-spi-nor-add-xtx-xt25f128b.patch b/target/linux/generic/pending-6.6/479-mtd-spi-nor-add-xtx-xt25f128b.patch
index d2a9fb3436..371f1a7276 100644
--- a/target/linux/generic/pending-6.6/479-mtd-spi-nor-add-xtx-xt25f128b.patch
+++ b/target/linux/generic/pending-6.6/479-mtd-spi-nor-add-xtx-xt25f128b.patch
@@ -68,7 +68,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
+ &spi_nor_xtx,
};
- static const struct flash_info *spi_nor_match_id(struct spi_nor *nor,
+ static const struct flash_info spi_nor_generic_flash = {
--- a/drivers/mtd/spi-nor/core.h
+++ b/drivers/mtd/spi-nor/core.h
@@ -633,6 +633,7 @@ extern const struct spi_nor_manufacturer
diff --git a/target/linux/generic/pending-6.6/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch b/target/linux/generic/pending-6.6/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch
index 581e06190b..3fdd354e6b 100644
--- a/target/linux/generic/pending-6.6/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch
+++ b/target/linux/generic/pending-6.6/481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch
@@ -15,7 +15,7 @@ Signed-off-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
static const struct flash_info gigadevice_nor_parts[] = {
+ { "gd25q05", INFO(0xc84010, 0, 64 * 1024, 1)
-+ FLAGS(SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
++ FLAGS(SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
+ NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ |
+ SPI_NOR_QUAD_READ) },
{ "gd25q16", INFO(0xc84015, 0, 64 * 1024, 32)
diff --git a/target/linux/generic/pending-6.6/487-mtd-spinand-Add-support-for-Etron-EM73D044VCx.patch b/target/linux/generic/pending-6.6/487-mtd-spinand-Add-support-for-Etron-EM73D044VCx.patch
index 81378fba86..8fd1365952 100644
--- a/target/linux/generic/pending-6.6/487-mtd-spinand-Add-support-for-Etron-EM73D044VCx.patch
+++ b/target/linux/generic/pending-6.6/487-mtd-spinand-Add-support-for-Etron-EM73D044VCx.patch
@@ -40,15 +40,17 @@ Submitted-by: Daniel Danzberger <daniel at dd-wrt.com>
--- a/drivers/mtd/nand/spi/Makefile
+++ b/drivers/mtd/nand/spi/Makefile
-@@ -1,3 +1,3 @@
+@@ -1,4 +1,4 @@
# SPDX-License-Identifier: GPL-2.0
--spinand-objs := core.o ato.o esmt.o gigadevice.o macronix.o micron.o paragon.o toshiba.o winbond.o xtx.o
-+spinand-objs := core.o ato.o esmt.o etron.o gigadevice.o macronix.o micron.o paragon.o toshiba.o winbond.o xtx.o
+-spinand-objs := core.o alliancememory.o ato.o esmt.o gigadevice.o macronix.o
+-spinand-objs += micron.o paragon.o toshiba.o winbond.o xtx.o
++spinand-objs := core.o alliancememory.o ato.o esmt.o etron.o gigadevice.o
++spinand-objs += macronix.o micron.o paragon.o toshiba.o winbond.o xtx.o
obj-$(CONFIG_MTD_SPI_NAND) += spinand.o
--- a/drivers/mtd/nand/spi/core.c
+++ b/drivers/mtd/nand/spi/core.c
-@@ -939,6 +939,7 @@ static const struct nand_ops spinand_ops
- static const struct spinand_manufacturer *spinand_manufacturers[] = {
+@@ -940,6 +940,7 @@ static const struct spinand_manufacturer
+ &alliancememory_spinand_manufacturer,
&ato_spinand_manufacturer,
&esmt_c8_spinand_manufacturer,
+ &etron_spinand_manufacturer,
@@ -158,8 +160,8 @@ Submitted-by: Daniel Danzberger <daniel at dd-wrt.com>
+};
--- a/include/linux/mtd/spinand.h
+++ b/include/linux/mtd/spinand.h
-@@ -262,6 +262,7 @@ struct spinand_manufacturer {
- /* SPI NAND manufacturers */
+@@ -263,6 +263,7 @@ struct spinand_manufacturer {
+ extern const struct spinand_manufacturer alliancememory_spinand_manufacturer;
extern const struct spinand_manufacturer ato_spinand_manufacturer;
extern const struct spinand_manufacturer esmt_c8_spinand_manufacturer;
+extern const struct spinand_manufacturer etron_spinand_manufacturer;
diff --git a/target/linux/generic/pending-6.6/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch b/target/linux/generic/pending-6.6/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
index f95ec46f14..b63b333c47 100644
--- a/target/linux/generic/pending-6.6/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
+++ b/target/linux/generic/pending-6.6/492-try-auto-mounting-ubi0-rootfs-in-init-do_mounts.c.patch
@@ -40,14 +40,15 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
#ifdef CONFIG_ROOT_NFS
#define NFSROOT_TIMEOUT_MIN 5
-@@ -579,6 +602,10 @@ void __init mount_root(void)
- return;
- }
- #endif
+@@ -408,6 +408,11 @@ void __init mount_root(void)
+
+ void __init mount_root(char *root_device_name)
+ {
+#ifdef CONFIG_MTD_ROOTFS_ROOT_DEV
+ if (!mount_ubi_rootfs())
+ return;
+#endif
- if (ROOT_DEV == 0 && root_device_name && root_fs_names) {
- if (mount_nodev_root() == 0)
- return;
++
+ switch (ROOT_DEV) {
+ case Root_NFS:
+ mount_nfs_root();
diff --git a/target/linux/generic/pending-6.6/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch b/target/linux/generic/pending-6.6/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
index 5357c7e15d..16bdfdd4b5 100644
--- a/target/linux/generic/pending-6.6/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
+++ b/target/linux/generic/pending-6.6/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch
@@ -31,4 +31,4 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
+
return 0;
- out_destroy_wq:
+ out_remove_minor:
diff --git a/target/linux/generic/pending-6.6/499-mtd-spi-nor-disable-16-bit-sr-for-macronix.patch b/target/linux/generic/pending-6.6/499-mtd-spi-nor-disable-16-bit-sr-for-macronix.patch
index 99e0fc72bf..e69eaf6bcc 100644
--- a/target/linux/generic/pending-6.6/499-mtd-spi-nor-disable-16-bit-sr-for-macronix.patch
+++ b/target/linux/generic/pending-6.6/499-mtd-spi-nor-disable-16-bit-sr-for-macronix.patch
@@ -20,11 +20,11 @@ Signed-off-by: Nick Hainke <vincent at systemli.org>
--- a/drivers/mtd/spi-nor/macronix.c
+++ b/drivers/mtd/spi-nor/macronix.c
-@@ -107,6 +107,7 @@ static void macronix_nor_default_init(st
+@@ -115,6 +115,7 @@ static void macronix_nor_default_init(st
{
- nor->params->quad_enable = spi_nor_sr1_bit6_quad_enable;
- nor->params->set_4byte_addr_mode = spi_nor_set_4byte_addr_mode;
+ if (!nor->params->set_4byte_addr_mode)
+ nor->params->set_4byte_addr_mode = spi_nor_set_4byte_addr_mode_en4b_ex4b;
+ nor->flags &= ~SNOR_F_HAS_16BIT_SR;
nor->flags |= SNOR_F_HAS_LOCK;
- }
+ return 0;
diff --git a/target/linux/generic/pending-6.6/500-fs_cdrom_dependencies.patch b/target/linux/generic/pending-6.6/500-fs_cdrom_dependencies.patch
index 2053c0fbe2..7c143584a4 100644
--- a/target/linux/generic/pending-6.6/500-fs_cdrom_dependencies.patch
+++ b/target/linux/generic/pending-6.6/500-fs_cdrom_dependencies.patch
@@ -17,9 +17,9 @@ Subject: [PATCH] fs: add cdrom dependency
tristate "Apple Macintosh file system support"
depends on BLOCK
+ select CDROM
+ select BUFFER_HEAD
select NLS
- help
- If you say Y here, you will be able to mount Macintosh-formatted
+ select LEGACY_DIRECT_IO
--- a/fs/hfsplus/Kconfig
+++ b/fs/hfsplus/Kconfig
@@ -2,6 +2,7 @@
@@ -27,9 +27,9 @@ Subject: [PATCH] fs: add cdrom dependency
tristate "Apple Extended HFS file system support"
depends on BLOCK
+ select CDROM
+ select BUFFER_HEAD
select NLS
select NLS_UTF8
- help
--- a/fs/isofs/Kconfig
+++ b/fs/isofs/Kconfig
@@ -1,6 +1,7 @@
@@ -37,9 +37,9 @@ Subject: [PATCH] fs: add cdrom dependency
config ISO9660_FS
tristate "ISO 9660 CDROM file system support"
+ select CDROM
+ select BUFFER_HEAD
help
This is the standard file system used on CD-ROMs. It was previously
- known as "High Sierra File System" and is called "hsfs" on other
--- a/fs/udf/Kconfig
+++ b/fs/udf/Kconfig
@@ -1,6 +1,7 @@
@@ -47,6 +47,6 @@ Subject: [PATCH] fs: add cdrom dependency
config UDF_FS
tristate "UDF file system support"
+ select CDROM
+ select BUFFER_HEAD
select CRC_ITU_T
select NLS
- help
diff --git a/target/linux/generic/pending-6.6/511-init-bypass-device-lookup-for-dev-fit-rootfs.patch b/target/linux/generic/pending-6.6/511-init-bypass-device-lookup-for-dev-fit-rootfs.patch
index 685a5f9da5..e6ad104981 100644
--- a/target/linux/generic/pending-6.6/511-init-bypass-device-lookup-for-dev-fit-rootfs.patch
+++ b/target/linux/generic/pending-6.6/511-init-bypass-device-lookup-for-dev-fit-rootfs.patch
@@ -13,13 +13,13 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
-@@ -645,7 +645,8 @@ void __init prepare_namespace(void)
+@@ -463,7 +463,8 @@ static dev_t __init parse_root_device(char
+ int error;
+ dev_t dev;
- if (saved_root_name[0]) {
- root_device_name = saved_root_name;
-- if (!strncmp(root_device_name, "mtd", 3) ||
-+ if (!strncmp(root_device_name, "fit", 3) ||
-+ !strncmp(root_device_name, "mtd", 3) ||
- !strncmp(root_device_name, "ubi", 3)) {
- mount_block_root(root_device_name, root_mountflags);
- goto out;
+- if (!strncmp(root_device_name, "mtd", 3) ||
++ if (!strncmp(root_device_name, "fit", 3) ||
++ !strncmp(root_device_name, "mtd", 3) ||
+ !strncmp(root_device_name, "ubi", 3))
+ return Root_Generic;
+ if (strcmp(root_device_name, "/dev/nfs") == 0)
diff --git a/target/linux/generic/pending-6.6/530-jffs2_make_lzma_available.patch b/target/linux/generic/pending-6.6/530-jffs2_make_lzma_available.patch
index 27a673399a..3e93c61839 100644
--- a/target/linux/generic/pending-6.6/530-jffs2_make_lzma_available.patch
+++ b/target/linux/generic/pending-6.6/530-jffs2_make_lzma_available.patch
@@ -66,26 +66,33 @@ Signed-off-by: Alexandros C. Couloumbis <alex at ozo.com>
+CFLAGS_compr_lzma.o += -Iinclude/linux -Ilib/lzma
--- a/fs/jffs2/compr.c
+++ b/fs/jffs2/compr.c
-@@ -378,6 +378,9 @@ int __init jffs2_compressors_init(void)
- #ifdef CONFIG_JFFS2_LZO
- jffs2_lzo_init();
- #endif
-+#ifdef CONFIG_JFFS2_LZMA
-+ jffs2_lzma_init();
-+#endif
+@@ -381,6 +381,9 @@ int __init jffs2_compressors_init(void)
+ ret = jffs2_lzo_init();
+ if (ret)
+ goto exit_dynrubin;
++ ret = jffs2_lzma_init();
++ if (ret)
++ goto exit_lzo;
+
+
/* Setting default compression mode */
- #ifdef CONFIG_JFFS2_CMODE_NONE
- jffs2_compression_mode = JFFS2_COMPR_MODE_NONE;
-@@ -401,6 +404,9 @@ int __init jffs2_compressors_init(void)
+@@ -402,6 +405,8 @@ int __init jffs2_compressors_init(void)
+ #endif
+ return 0;
+
++exit_lzo:
++ jffs2_lzo_exit();
+ exit_dynrubin:
+ jffs2_dynrubin_exit();
+ exit_runinmips:
+@@ -417,6 +422,7 @@ int __init jffs2_compressors_init(void)
int jffs2_compressors_exit(void)
{
/* Unregistering compressors */
-+#ifdef CONFIG_JFFS2_LZMA
+ jffs2_lzma_exit();
-+#endif
- #ifdef CONFIG_JFFS2_LZO
jffs2_lzo_exit();
- #endif
+ jffs2_dynrubin_exit();
+ jffs2_rubinmips_exit();
--- a/fs/jffs2/compr.h
+++ b/fs/jffs2/compr.h
@@ -29,9 +29,9 @@
@@ -101,13 +108,16 @@ Signed-off-by: Alexandros C. Couloumbis <alex at ozo.com>
#define JFFS2_RUBINMIPS_DISABLED /* RUBINs will be used only */
#define JFFS2_DYNRUBIN_DISABLED /* for decompression */
-@@ -101,5 +101,9 @@ void jffs2_zlib_exit(void);
- int jffs2_lzo_init(void);
- void jffs2_lzo_exit(void);
+@@ -115,5 +115,12 @@ extern void jffs2_lzo_exit(void);
+ static inline int jffs2_lzo_init(void) { return 0; }
+ static inline void jffs2_lzo_exit(void) {}
#endif
+#ifdef CONFIG_JFFS2_LZMA
-+int jffs2_lzma_init(void);
-+void jffs2_lzma_exit(void);
++extern int jffs2_lzma_init(void);
++extern void jffs2_lzma_exit(void);
++#else
++static inline int jffs2_lzma_init(void) { return 0; }
++static inline void jffs2_lzma_exit(void) {}
+#endif
#endif /* __JFFS2_COMPR_H__ */
diff --git a/target/linux/generic/pending-6.6/630-packet_socket_type.patch b/target/linux/generic/pending-6.6/630-packet_socket_type.patch
index c40c709635..f12a09e65f 100644
--- a/target/linux/generic/pending-6.6/630-packet_socket_type.patch
+++ b/target/linux/generic/pending-6.6/630-packet_socket_type.patch
@@ -21,10 +21,10 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
/* Packet socket options */
@@ -59,6 +61,7 @@ struct sockaddr_ll {
- #define PACKET_ROLLOVER_STATS 21
#define PACKET_FANOUT_DATA 22
#define PACKET_IGNORE_OUTGOING 23
-+#define PACKET_RECV_TYPE 24
+ #define PACKET_VNET_HDR_SZ 24
++#define PACKET_RECV_TYPE 25
#define PACKET_FANOUT_HASH 0
#define PACKET_FANOUT_LB 1
@@ -96,7 +96,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
@@ -4013,6 +4016,16 @@ packet_setsockopt(struct socket *sock, i
- WRITE_ONCE(po->xmit, val ? packet_direct_xmit : dev_queue_xmit);
+ packet_sock_flag_set(po, PACKET_SOCK_QDISC_BYPASS, val);
return 0;
}
+ case PACKET_RECV_TYPE:
@@ -113,8 +113,8 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
return -ENOPROTOOPT;
}
@@ -4069,6 +4082,13 @@ static int packet_getsockopt(struct sock
- case PACKET_VNET_HDR:
- val = po->has_vnet_hdr;
+ case PACKET_VNET_HDR_SZ:
+ val = READ_ONCE(po->vnet_hdr_sz);
break;
+ case PACKET_RECV_TYPE:
+ if (len > sizeof(unsigned int))
@@ -129,10 +129,10 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
--- a/net/packet/internal.h
+++ b/net/packet/internal.h
@@ -136,6 +136,7 @@ struct packet_sock {
- int (*xmit)(struct sk_buff *skb);
+ struct net_device __rcu *cached_dev;
struct packet_type prot_hook ____cacheline_aligned_in_smp;
atomic_t tp_drops ____cacheline_aligned_in_smp;
+ unsigned int pkt_type;
};
- static inline struct packet_sock *pkt_sk(struct sock *sk)
+ #define pkt_sk(ptr) container_of_const(ptr, struct packet_sock, sk)
diff --git a/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index 72e8de2f1d..3ab023fdeb 100644
--- a/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
@@ -125,7 +125,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
+static const struct rt6_info ip6_policy_failed_entry_template = {
+ .dst = {
-+ .__refcnt = ATOMIC_INIT(1),
++ .__rcuref = RCUREF_INIT(1),
+ .__use = 1,
+ .obsolete = DST_OBSOLETE_FORCE_CHK,
+ .error = -EACCES,
@@ -137,7 +137,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
+
static const struct rt6_info ip6_blk_hole_entry_template = {
.dst = {
- .__refcnt = ATOMIC_INIT(1),
+ .__rcuref = RCUREF_INIT(1),
@@ -1039,6 +1053,7 @@ static const int fib6_prop[RTN_MAX + 1]
[RTN_BLACKHOLE] = -EINVAL,
[RTN_UNREACHABLE] = -EHOSTUNREACH,
@@ -213,7 +213,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
GFP_KERNEL);
@@ -6499,11 +6535,21 @@ static int __net_init ip6_route_net_init
ip6_template_metrics, true);
- INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->rt6i_uncached);
+ INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->dst.rt_uncached);
+ net->ipv6.ip6_policy_failed_entry =
+ kmemdup(&ip6_policy_failed_entry_template,
@@ -223,7 +223,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
+ net->ipv6.ip6_policy_failed_entry->dst.ops = &net->ipv6.ip6_dst_ops;
+ dst_init_metrics(&net->ipv6.ip6_policy_failed_entry->dst,
+ ip6_template_metrics, true);
-+ INIT_LIST_HEAD(&net->ipv6.ip6_policy_failed_entry->rt6i_uncached);
++ INIT_LIST_HEAD(&net->ipv6.ip6_policy_failed_entry->dst.rt_uncached);
+
net->ipv6.ip6_blk_hole_entry = kmemdup(&ip6_blk_hole_entry_template,
sizeof(*net->ipv6.ip6_blk_hole_entry),
diff --git a/target/linux/generic/pending-6.6/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-6.6/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index 11850c0418..26836240ee 100644
--- a/target/linux/generic/pending-6.6/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
+++ b/target/linux/generic/pending-6.6/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
@@ -28,13 +28,13 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
#endif
+ __u8 gro_skip:1;
+ #if IS_ENABLED(CONFIG_IP_VS)
__u8 ipvs_property:1;
- __u8 inner_protocol_type:1;
--- a/net/core/gro.c
+++ b/net/core/gro.c
@@ -491,6 +491,9 @@ static enum gro_result dev_gro_receive(s
+ enum gro_result ret;
int same_flow;
- int grow;
+ if (skb->gro_skip)
+ goto normal;
@@ -109,9 +109,9 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
call_netdevice_notifiers_info(NETDEV_CHANGEUPPER,
&changeupper_info.info);
-@@ -8824,6 +8868,7 @@ int dev_set_mac_address(struct net_devic
- if (err)
- return err;
+@@ -8821,6 +8865,7 @@ int dev_set_mac_address(struct net_devic
+ return err;
+ }
dev->addr_assign_type = NET_ADDR_SET;
+ netdev_update_addr_mask(dev);
call_netdevice_notifiers(NETDEV_CHANGEADDR, dev);
diff --git a/target/linux/generic/pending-6.6/683-of_net-add-mac-address-to-of-tree.patch b/target/linux/generic/pending-6.6/683-of_net-add-mac-address-to-of-tree.patch
index 03ee537fb8..9e81cb1f27 100644
--- a/target/linux/generic/pending-6.6/683-of_net-add-mac-address-to-of-tree.patch
+++ b/target/linux/generic/pending-6.6/683-of_net-add-mac-address-to-of-tree.patch
@@ -18,8 +18,8 @@ property. This way, the MAC address can be accessed using procfs.
--- a/net/core/of_net.c
+++ b/net/core/of_net.c
@@ -95,6 +95,27 @@ static int of_get_mac_addr_nvmem(struct
- return 0;
}
+ EXPORT_SYMBOL(of_get_mac_address_nvmem);
+static int of_add_mac_address(struct device_node *np, u8* addr)
+{
@@ -62,8 +62,8 @@ property. This way, the MAC address can be accessed using procfs.
- return 0;
+ goto found;
-- return of_get_mac_addr_nvmem(np, addr);
-+ ret = of_get_mac_addr_nvmem(np, addr);
+- return of_get_mac_address_nvmem(np, addr);
++ ret = of_get_mac_address_nvmem(np, addr);
+ if (ret)
+ return ret;
+
diff --git a/target/linux/generic/pending-6.6/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/pending-6.6/703-phy-add-detach-callback-to-struct-phy_driver.patch
index e4937a1df1..61dd11727f 100644
--- a/target/linux/generic/pending-6.6/703-phy-add-detach-callback-to-struct-phy_driver.patch
+++ b/target/linux/generic/pending-6.6/703-phy-add-detach-callback-to-struct-phy_driver.patch
@@ -11,9 +11,9 @@ Signed-off-by: Gabor Juhos <juhosg at openwrt.org>
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -1850,6 +1850,9 @@ void phy_detach(struct phy_device *phyde
- struct module *ndev_owner = NULL;
- struct mii_bus *bus;
+@@ -1753,6 +1753,9 @@ void phy_detach(struct phy_device *phyde
+ if (phydev->devlink)
+ device_link_del(phydev->devlink);
+ if (phydev->drv && phydev->drv->detach)
+ phydev->drv->detach(phydev);
diff --git a/target/linux/generic/pending-6.6/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch b/target/linux/generic/pending-6.6/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch
index 989aca8f35..85e42d5a94 100644
--- a/target/linux/generic/pending-6.6/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch
+++ b/target/linux/generic/pending-6.6/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch
@@ -15,18 +15,18 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
--- a/include/linux/if_bridge.h
+++ b/include/linux/if_bridge.h
@@ -59,6 +59,7 @@ struct br_ip_list {
- #define BR_MRP_LOST_IN_CONT BIT(19)
- #define BR_TX_FWD_OFFLOAD BIT(20)
#define BR_PORT_LOCKED BIT(21)
-+#define BR_BPDU_FILTER BIT(22)
+ #define BR_PORT_MAB BIT(22)
+ #define BR_NEIGH_VLAN_SUPPRESS BIT(23)
++#define BR_BPDU_FILTER BIT(24)
#define BR_DEFAULT_AGEING_TIME (300 * HZ)
--- a/net/bridge/br_forward.c
+++ b/net/bridge/br_forward.c
@@ -199,6 +199,7 @@ out:
- void br_flood(struct net_bridge *br, struct sk_buff *skb,
- enum br_pkt_type pkt_type, bool local_rcv, bool local_orig)
+ enum br_pkt_type pkt_type, bool local_rcv, bool local_orig,
+ u16 vid)
{
+ const unsigned char *dest = eth_hdr(skb)->h_dest;
struct net_bridge_port *prev = NULL;
@@ -107,9 +107,9 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
--- a/include/uapi/linux/if_link.h
+++ b/include/uapi/linux/if_link.h
@@ -561,6 +561,7 @@ enum {
- IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT,
- IFLA_BRPORT_MCAST_EHT_HOSTS_CNT,
- IFLA_BRPORT_LOCKED,
+ IFLA_BRPORT_MCAST_MAX_GROUPS,
+ IFLA_BRPORT_NEIGH_VLAN_SUPPRESS,
+ IFLA_BRPORT_BACKUP_NHID,
+ IFLA_BRPORT_BPDU_FILTER,
__IFLA_BRPORT_MAX
};
@@ -117,47 +117,47 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
--- a/net/bridge/br_netlink.c
+++ b/net/bridge/br_netlink.c
@@ -188,6 +188,7 @@ static inline size_t br_port_info_size(v
- + nla_total_size(1) /* IFLA_BRPORT_NEIGH_SUPPRESS */
- + nla_total_size(1) /* IFLA_BRPORT_ISOLATED */
+ nla_total_size(1) /* IFLA_BRPORT_LOCKED */
+ + nla_total_size(1) /* IFLA_BRPORT_MAB */
+ + nla_total_size(1) /* IFLA_BRPORT_NEIGH_VLAN_SUPPRESS */
+ + nla_total_size(1) /* IFLA_BRPORT_BPDU_FILTER */
+ nla_total_size(sizeof(struct ifla_bridge_id)) /* IFLA_BRPORT_ROOT_ID */
+ nla_total_size(sizeof(struct ifla_bridge_id)) /* IFLA_BRPORT_BRIDGE_ID */
+ nla_total_size(sizeof(u16)) /* IFLA_BRPORT_DESIGNATED_PORT */
@@ -274,7 +275,8 @@ static int br_port_fill_attrs(struct sk_
- nla_put_u8(skb, IFLA_BRPORT_MRP_IN_OPEN,
- !!(p->flags & BR_MRP_LOST_IN_CONT)) ||
- nla_put_u8(skb, IFLA_BRPORT_ISOLATED, !!(p->flags & BR_ISOLATED)) ||
-- nla_put_u8(skb, IFLA_BRPORT_LOCKED, !!(p->flags & BR_PORT_LOCKED)))
-+ nla_put_u8(skb, IFLA_BRPORT_LOCKED, !!(p->flags & BR_PORT_LOCKED)) ||
+ nla_put_u8(skb, IFLA_BRPORT_LOCKED, !!(p->flags & BR_PORT_LOCKED)) ||
+ nla_put_u8(skb, IFLA_BRPORT_MAB, !!(p->flags & BR_PORT_MAB)) ||
+ nla_put_u8(skb, IFLA_BRPORT_NEIGH_VLAN_SUPPRESS,
+- !!(p->flags & BR_NEIGH_VLAN_SUPPRESS)))
++ !!(p->flags & BR_NEIGH_VLAN_SUPPRESS)) ||
+ nla_put_u8(skb, IFLA_BRPORT_BPDU_FILTER, !!(p->flags & BR_BPDU_FILTER)))
return -EMSGSIZE;
timerval = br_timer_value(&p->message_age_timer);
@@ -878,6 +880,7 @@ static const struct nla_policy br_port_p
- [IFLA_BRPORT_LOCKED] = { .type = NLA_U8 },
- [IFLA_BRPORT_BACKUP_PORT] = { .type = NLA_U32 },
- [IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT] = { .type = NLA_U32 },
+ [IFLA_BRPORT_MCAST_MAX_GROUPS] = { .type = NLA_U32 },
+ [IFLA_BRPORT_NEIGH_VLAN_SUPPRESS] = NLA_POLICY_MAX(NLA_U8, 1),
+ [IFLA_BRPORT_BACKUP_NHID] = { .type = NLA_U32 },
+ [IFLA_BRPORT_BPDU_FILTER] = { .type = NLA_U8 },
};
/* Change the state of the port and notify spanning tree */
@@ -943,6 +946,7 @@ static int br_setport(struct net_bridge_
- br_set_port_flag(p, tb, IFLA_BRPORT_NEIGH_SUPPRESS, BR_NEIGH_SUPPRESS);
- br_set_port_flag(p, tb, IFLA_BRPORT_ISOLATED, BR_ISOLATED);
- br_set_port_flag(p, tb, IFLA_BRPORT_LOCKED, BR_PORT_LOCKED);
+ br_set_port_flag(p, tb, IFLA_BRPORT_MAB, BR_PORT_MAB);
+ br_set_port_flag(p, tb, IFLA_BRPORT_NEIGH_VLAN_SUPPRESS,
+ BR_NEIGH_VLAN_SUPPRESS);
+ br_set_port_flag(p, tb, IFLA_BRPORT_BPDU_FILTER, BR_BPDU_FILTER);
- changed_mask = old_flags ^ p->flags;
-
+ if ((p->flags & BR_PORT_MAB) &&
+ (!(p->flags & BR_PORT_LOCKED) || !(p->flags & BR_LEARNING))) {
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -57,7 +57,7 @@
#include "dev.h"
#define RTNL_MAX_TYPE 50
--#define RTNL_SLAVE_MAX_TYPE 40
-+#define RTNL_SLAVE_MAX_TYPE 41
+-#define RTNL_SLAVE_MAX_TYPE 44
++#define RTNL_SLAVE_MAX_TYPE 45
struct rtnl_link {
rtnl_doit_func doit;
diff --git a/target/linux/generic/pending-6.6/730-net-phy-realtek-detect-early-version-of-RTL8221B.patch b/target/linux/generic/pending-6.6/730-net-phy-realtek-detect-early-version-of-RTL8221B.patch
index f5987109f6..32d81d56f8 100644
--- a/target/linux/generic/pending-6.6/730-net-phy-realtek-detect-early-version-of-RTL8221B.patch
+++ b/target/linux/generic/pending-6.6/730-net-phy-realtek-detect-early-version-of-RTL8221B.patch
@@ -22,7 +22,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
+ int val;
+ u32 id;
+
-+ if (phydev->mdio.bus->probe_capabilities >= MDIOBUS_C45) {
++ if (phydev->drv->read_mmd) {
+ val = phy_read_mmd(phydev, MDIO_MMD_PMAPMD, MDIO_PKGID1);
+ if (val < 0)
+ return 0;
diff --git a/target/linux/generic/pending-6.6/732-01-net-ethernet-mtk_eth_soc-work-around-issue-with-send.patch b/target/linux/generic/pending-6.6/732-01-net-ethernet-mtk_eth_soc-work-around-issue-with-send.patch
index a1cc109050..17c7d92ce0 100644
--- a/target/linux/generic/pending-6.6/732-01-net-ethernet-mtk_eth_soc-work-around-issue-with-send.patch
+++ b/target/linux/generic/pending-6.6/732-01-net-ethernet-mtk_eth_soc-work-around-issue-with-send.patch
@@ -16,6 +16,14 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+@@ -26,6 +26,7 @@
+ #include <linux/bitfield.h>
+ #include <net/dsa.h>
+ #include <net/dst_metadata.h>
++#include <net/gso.h>
+ #include <net/page_pool/helpers.h>
+
+ #include "mtk_eth_soc.h"
@@ -1562,12 +1562,28 @@ static void mtk_wake_queue(struct mtk_et
}
}
diff --git a/target/linux/generic/pending-6.6/739-05-net-pcs-add-driver-for-MediaTek-USXGMII-PCS.patch b/target/linux/generic/pending-6.6/739-05-net-pcs-add-driver-for-MediaTek-USXGMII-PCS.patch
index 5bd2850fec..6fe29bc6c9 100644
--- a/target/linux/generic/pending-6.6/739-05-net-pcs-add-driver-for-MediaTek-USXGMII-PCS.patch
+++ b/target/linux/generic/pending-6.6/739-05-net-pcs-add-driver-for-MediaTek-USXGMII-PCS.patch
@@ -27,13 +27,13 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
F: include/linux/pcs/pcs-mtk-lynxi.h
+F: include/linux/pcs/pcs-mtk-usxgmii.h
- MEDIATEK I2C CONTROLLER DRIVER
- M: Qii Wang <qii.wang at mediatek.com>
+ MEDIATEK ETHERNET PHY DRIVERS
+ M: Daniel Golle <daniel at makrotopia.org>
--- a/drivers/net/pcs/Kconfig
+++ b/drivers/net/pcs/Kconfig
@@ -18,6 +18,17 @@ config PCS_LYNX
- This module provides helpers to phylink for managing the Lynx PCS
- which is part of the Layerscape and QorIQ Ethernet SERDES.
+ This module provides helpers to phylink for managing the LynxI PCS
+ which is part of MediaTek's SoC and Ethernet switch ICs.
+config PCS_MTK_USXGMII
+ tristate "MediaTek USXGMII PCS"
@@ -51,10 +51,10 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
depends on OF && (ARCH_RZN1 || COMPILE_TEST)
--- a/drivers/net/pcs/Makefile
+++ b/drivers/net/pcs/Makefile
-@@ -8,3 +8,4 @@ obj-$(CONFIG_PCS_LYNX) += pcs-lynx.o
- obj-$(CONFIG_PCS_RZN1_MIIC) += pcs-rzn1-miic.o
- obj-$(CONFIG_PCS_ALTERA_TSE) += pcs-altera-tse.o
+@@ -8,3 +8,4 @@ obj-$(CONFIG_PCS_XPCS) += pcs_xpcs.o
+ obj-$(CONFIG_PCS_LYNX) += pcs-lynx.o
obj-$(CONFIG_PCS_MTK_LYNXI) += pcs-mtk-lynxi.o
+ obj-$(CONFIG_PCS_RZN1_MIIC) += pcs-rzn1-miic.o
+obj-$(CONFIG_PCS_MTK_USXGMII) += pcs-mtk-usxgmii.o
--- /dev/null
+++ b/drivers/net/pcs/pcs-mtk-usxgmii.c
diff --git a/target/linux/generic/pending-6.6/760-net-core-add-optional-threading-for-backlog-processi.patch b/target/linux/generic/pending-6.6/760-net-core-add-optional-threading-for-backlog-processi.patch
index 42c8519c90..bb9149a668 100644
--- a/target/linux/generic/pending-6.6/760-net-core-add-optional-threading-for-backlog-processi.patch
+++ b/target/linux/generic/pending-6.6/760-net-core-add-optional-threading-for-backlog-processi.patch
@@ -20,10 +20,10 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
/**
* napi_disable - prevent NAPI from scheduling
-@@ -3152,6 +3153,7 @@ struct softnet_data {
+@@ -3129,6 +3130,7 @@ struct softnet_data {
+ /* stats */
unsigned int processed;
unsigned int time_squeeze;
- unsigned int received_rps;
+ unsigned int process_queue_empty;
#ifdef CONFIG_RPS
struct softnet_data *rps_ipi_list;
diff --git a/target/linux/generic/pending-6.6/802-OPP-Provide-old-opp-to-config_clks-on-_set_opp.patch b/target/linux/generic/pending-6.6/802-OPP-Provide-old-opp-to-config_clks-on-_set_opp.patch
index 2b3e4bbf71..cb5d30db27 100644
--- a/target/linux/generic/pending-6.6/802-OPP-Provide-old-opp-to-config_clks-on-_set_opp.patch
+++ b/target/linux/generic/pending-6.6/802-OPP-Provide-old-opp-to-config_clks-on-_set_opp.patch
@@ -80,7 +80,7 @@ Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
-typedef int (*config_clks_t)(struct device *dev, struct opp_table *opp_table,
+typedef int (*config_clks_t)(struct device *dev,
-+ struct opp_table *opp_table, struct dev_pm_opp *old_opp,
++ struct opp_table *opp_table, struct dev_pm_opp *old_opp,
struct dev_pm_opp *opp, void *data, bool scaling_down);
/**
diff --git a/target/linux/generic/pending-6.6/804-nvmem-core-support-mac-base-fixed-layout-cells.patch b/target/linux/generic/pending-6.6/804-nvmem-core-support-mac-base-fixed-layout-cells.patch
index 9bb94a28b5..2f0dcd91d9 100644
--- a/target/linux/generic/pending-6.6/804-nvmem-core-support-mac-base-fixed-layout-cells.patch
+++ b/target/linux/generic/pending-6.6/804-nvmem-core-support-mac-base-fixed-layout-cells.patch
@@ -10,14 +10,14 @@ string.
--- a/drivers/nvmem/Kconfig
+++ b/drivers/nvmem/Kconfig
-@@ -1,6 +1,7 @@
- # SPDX-License-Identifier: GPL-2.0-only
+@@ -2,6 +2,7 @@
menuconfig NVMEM
bool "NVMEM Support"
-+ select GENERIC_NET_UTILS
imply NVMEM_LAYOUTS
++ select GENERIC_NET_UTILS
help
Support for NVMEM(Non Volatile Memory) devices like EEPROM, EFUSES...
+
--- a/drivers/nvmem/core.c
+++ b/drivers/nvmem/core.c
@@ -7,9 +7,12 @@
diff --git a/target/linux/generic/pending-6.6/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/pending-6.6/811-pci_disable_usb_common_quirks.patch
index 98ea4c06d9..eb5aa15d30 100644
--- a/target/linux/generic/pending-6.6/811-pci_disable_usb_common_quirks.patch
+++ b/target/linux/generic/pending-6.6/811-pci_disable_usb_common_quirks.patch
@@ -111,5 +111,5 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
+}
+#endif
- #ifdef CONFIG_PM
extern const struct dev_pm_ops usb_hcd_pci_pm_ops;
+ #endif /* CONFIG_USB_PCI */
diff --git a/target/linux/generic/pending-6.6/834-ledtrig-libata.patch b/target/linux/generic/pending-6.6/834-ledtrig-libata.patch
index 050c3515f6..562f9b866c 100644
--- a/target/linux/generic/pending-6.6/834-ledtrig-libata.patch
+++ b/target/linux/generic/pending-6.6/834-ledtrig-libata.patch
@@ -46,7 +46,7 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -663,6 +663,19 @@ u64 ata_tf_read_block(const struct ata_t
- return block;
+ qc->flags |= ATA_QCFLAG_HAS_CDL | ATA_QCFLAG_RESULT_TF;
}
+#ifdef CONFIG_ATA_LEDS
@@ -85,10 +85,10 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
ata_sff_port_init(ap);
return ap;
-@@ -5473,6 +5492,12 @@ static void ata_host_release(struct kref
-
+@@ -5469,6 +5488,12 @@ static void ata_host_release(struct kref
kfree(ap->pmp_link);
kfree(ap->slave_link);
+ kfree(ap->ncq_sense_buf);
+#ifdef CONFIG_ATA_LEDS
+ if (ap->ledtrig) {
+ led_trigger_unregister(ap->ledtrig);
@@ -145,5 +145,5 @@ Signed-off-by: Daniel Golle <daniel at makrotopia.org>
+#endif
+
/* owned by EH */
+ u8 *ncq_sense_buf;
u8 sector_buf[ATA_SECT_SIZE] ____cacheline_aligned;
- };
diff --git a/target/linux/generic/pending-6.6/870-ARM-dts-nxp-imx7d-pico-add-cpu-supply-nodes.patch b/target/linux/generic/pending-6.6/870-ARM-dts-nxp-imx7d-pico-add-cpu-supply-nodes.patch
index e25389363f..1f860e9c76 100644
--- a/target/linux/generic/pending-6.6/870-ARM-dts-nxp-imx7d-pico-add-cpu-supply-nodes.patch
+++ b/target/linux/generic/pending-6.6/870-ARM-dts-nxp-imx7d-pico-add-cpu-supply-nodes.patch
@@ -24,8 +24,8 @@ Signed-off-by: Lech Perczak <lech.perczak at gmail.com>
arch/arm/boot/dts/imx7d-pico.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
---- a/arch/arm/boot/dts/imx7d-pico.dtsi
-+++ b/arch/arm/boot/dts/imx7d-pico.dtsi
+--- a/arch/arm/boot/dts/nxp/imx/imx7d-pico.dtsi
++++ b/arch/arm/boot/dts/nxp/imx/imx7d-pico.dtsi
@@ -108,6 +108,14 @@
assigned-clock-rates = <0>, <32768>;
};
diff --git a/target/linux/generic/pending-6.6/920-mangle_bootargs.patch b/target/linux/generic/pending-6.6/920-mangle_bootargs.patch
index 4552b4cd66..0d690e42e8 100644
--- a/target/linux/generic/pending-6.6/920-mangle_bootargs.patch
+++ b/target/linux/generic/pending-6.6/920-mangle_bootargs.patch
@@ -13,9 +13,9 @@ Signed-off-by: Imre Kaloz <kaloz at openwrt.org>
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -1836,6 +1836,15 @@ config EMBEDDED
- an embedded system so certain expert options are available
- for configuration.
+@@ -1827,6 +1827,15 @@ config EMBEDDED
+
+ If unsure, say N.
+config MANGLE_BOOTARGS
+ bool "Rename offending bootargs"
More information about the lede-commits
mailing list