diff --git a/board/aarch64/r2s/linux_defconfig b/board/aarch64/r2s/linux_defconfig index 0d152b6d2..02edbd1f4 100644 --- a/board/aarch64/r2s/linux_defconfig +++ b/board/aarch64/r2s/linux_defconfig @@ -230,7 +230,6 @@ CONFIG_MAC80211_LEDS=y CONFIG_RFKILL=y CONFIG_NET_9P=y CONFIG_NET_9P_VIRTIO=y -# CONFIG_ETHTOOL_NETLINK is not set CONFIG_PCI=y CONFIG_PCIEPORTBUS=y CONFIG_PCI_IOV=y @@ -481,7 +480,6 @@ CONFIG_I2C=y CONFIG_I2C_CHARDEV=y CONFIG_I2C_MUX=y CONFIG_I2C_MUX_PCA954x=y -CONFIG_I2C_DESIGNWARE_PLATFORM=y CONFIG_I2C_GPIO=m CONFIG_I2C_RK3X=y CONFIG_I2C_SLAVE=y diff --git a/board/common/rootfs/usr/libexec/infix/init.d/30-cfg-migrate b/board/common/rootfs/usr/libexec/infix/init.d/30-cfg-migrate index 527135d36..e53c15e27 100755 --- a/board/common/rootfs/usr/libexec/infix/init.d/30-cfg-migrate +++ b/board/common/rootfs/usr/libexec/infix/init.d/30-cfg-migrate @@ -4,7 +4,11 @@ # the migrate tool inserts old version in name before .cfg extension. CONFIG_FILE="/cfg/startup-config.cfg" BACKUP_FILE="/cfg/backup/startup-config.cfg" -mkdir -p "$(dirname "$BACKUP_FILE")" +BACKUP_DIR="$(dirname "$BACKUP_FILE")" + +mkdir -p "$BACKUP_DIR" +chown root:wheel "$BACKUP_DIR" +chmod 0770 "$BACKUP_DIR" if [ ! -f "$CONFIG_FILE" ]; then note "No $(basename "$CONFIG_FILE" .cfg) yet, likely factory reset." diff --git a/configs/r2s_defconfig b/configs/r2s_defconfig index 03feafa1b..32d88cdb3 100644 --- a/configs/r2s_defconfig +++ b/configs/r2s_defconfig @@ -8,7 +8,6 @@ BR2_CCACHE=y BR2_CCACHE_DIR="${BR2_EXTERNAL_INFIX_PATH}/.ccache" BR2_ENABLE_DEBUG=y BR2_GLOBAL_PATCH_DIR="${BR2_EXTERNAL_INFIX_PATH}/patches" -BR2_DOWNLOAD_FORCE_CHECK_HASHES=y BR2_TARGET_GENERIC_HOSTNAME="infix" BR2_TARGET_GENERIC_ISSUE="Infix by KernelKit" BR2_INIT_FINIT=y @@ -30,7 +29,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="${BR2_EXTERNAL_INFIX_PATH}/board/common/post-image BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BR2_EXTERNAL_INFIX_PATH)/board/aarch64/r2s/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.10.3" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.12.21" BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_INFIX_PATH)/board/aarch64/r2s/rk3328-nanopi-r2s-dts.patch" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="${BR2_EXTERNAL_INFIX_PATH}/board/aarch64/r2s/linux_defconfig" @@ -74,7 +73,6 @@ BR2_PACKAGE_PYTHON_GUNICORN=y BR2_PACKAGE_LIBSSH_OPENSSL=y BR2_PACKAGE_LIBSSH2=y BR2_PACKAGE_LIBSSH2_OPENSSL=y -BR2_PACKAGE_LIBXCRYPT=y BR2_PACKAGE_LIBOPENSSL_BIN=y BR2_PACKAGE_LIBINPUT=y BR2_PACKAGE_LIBCURL_CURL=y @@ -201,8 +199,8 @@ BR2_PACKAGE_PODMAN_DRIVER_DEVICEMAPPER=y BR2_PACKAGE_PODMAN_DRIVER_VFS=y BR2_PACKAGE_TETRIS=y BR2_PACKAGE_ROUSETTE=y -BR2_PACKAGE_HOST_PYTHON_YANGDOC=y BR2_PACKAGE_RAUC_INSTALLATION_STATUS=y +BR2_PACKAGE_HOST_PYTHON_YANGDOC=y TRUSTED_KEYS=y TRUSTED_KEYS_DEVELOPMENT=y # GNS3_APPLIANCE is not set diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index 7e2534e1e..b0670e7e3 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -4,6 +4,19 @@ Change Log All notable changes to the project are documented in this file. +[v25.04.0][UNRELEASED] +------------------------- + +### Changes + - N/A + +### Fixes + - Fix #1006: NanoPi R2S corrupt startup, regression in Infix v25.02.0 + - Bump R2S kernel, now same as tier one boards + - Fix group owner and permissions of `/cfg/backup` directory + - Fix extraction of old version for `/cfg/backup/` files + + [v25.03.0][] - 2025-03-31 ------------------------- @@ -1530,6 +1543,7 @@ Supported YANG models in addition to those used by sysrepo and netopeer: [buildroot]: https://buildroot.org/ [UNRELEASED]: https://github.com/kernelkit/infix/compare/v25.03.0...HEAD +[v25.04.0]: https://github.com/kernelkit/infix/compare/v25.03.0...v25.04.0 [v25.03.0]: https://github.com/kernelkit/infix/compare/v25.02.0...v25.03.0 [v25.02.0]: https://github.com/kernelkit/infix/compare/v25.01.0...v25.02.0 [v25.01.0]: https://github.com/kernelkit/infix/compare/v24.11.0...v25.01.0 diff --git a/patches/linux/6.10.3/0001-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch b/patches/linux/6.10.3/0001-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch deleted file mode 100644 index 579044353..000000000 --- a/patches/linux/6.10.3/0001-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch +++ /dev/null @@ -1,236 +0,0 @@ -From c2251e09714b9715ee5ece18aa1096bc08cb8f6d Mon Sep 17 00:00:00 2001 -From: Joachim Wiberg -Date: Mon, 4 Mar 2024 16:47:28 +0100 -Subject: [PATCH 1/5] net: bridge: avoid classifying unknown multicast as - mrouters_only -Organization: Addiva Elektronik - -Unknown multicast, MAC/IPv4/IPv6, should always be flooded according to -the per-port mcast_flood setting, as well as to detected and configured -mcast_router ports. - -This patch drops the mrouters_only classifier of unknown IP multicast -and moves the flow handling from br_multicast_flood() to br_flood(). -This in turn means br_flood() must know about multicast router ports. -Because a multicast router should always receive both known and unknown -multicast. - -Signed-off-by: Joachim Wiberg ---- - include/uapi/linux/if_bridge.h | 1 + - net/bridge/br.c | 5 +++++ - net/bridge/br_device.c | 10 ++++++---- - net/bridge/br_forward.c | 14 ++++++++++++-- - net/bridge/br_input.c | 2 +- - net/bridge/br_multicast.c | 11 +++++++++-- - net/bridge/br_private.h | 18 ++++++++++++++++-- - 7 files changed, 50 insertions(+), 11 deletions(-) - -diff --git a/include/uapi/linux/if_bridge.h b/include/uapi/linux/if_bridge.h -index a5b743a2f775..3bffc39d7800 100644 ---- a/include/uapi/linux/if_bridge.h -+++ b/include/uapi/linux/if_bridge.h -@@ -830,6 +830,7 @@ enum br_boolopt_id { - BR_BOOLOPT_NO_LL_LEARN, - BR_BOOLOPT_MCAST_VLAN_SNOOPING, - BR_BOOLOPT_MST_ENABLE, -+ BR_BOOLOPT_MCAST_FLOOD_ALWAYS, - BR_BOOLOPT_MAX - }; - -diff --git a/net/bridge/br.c b/net/bridge/br.c -index 2cab878e0a39..006fb2e5eafb 100644 ---- a/net/bridge/br.c -+++ b/net/bridge/br.c -@@ -277,6 +277,9 @@ int br_boolopt_toggle(struct net_bridge *br, enum br_boolopt_id opt, bool on, - case BR_BOOLOPT_MST_ENABLE: - err = br_mst_set_enabled(br, on, extack); - break; -+ case BR_BOOLOPT_MCAST_FLOOD_ALWAYS: -+ br_opt_toggle(br, BROPT_MCAST_FLOOD_ALWAYS, on); -+ break; - default: - /* shouldn't be called with unsupported options */ - WARN_ON(1); -@@ -295,6 +298,8 @@ int br_boolopt_get(const struct net_bridge *br, enum br_boolopt_id opt) - return br_opt_get(br, BROPT_MCAST_VLAN_SNOOPING_ENABLED); - case BR_BOOLOPT_MST_ENABLE: - return br_opt_get(br, BROPT_MST_ENABLED); -+ case BR_BOOLOPT_MCAST_FLOOD_ALWAYS: -+ return br_opt_get(br, BROPT_MCAST_FLOOD_ALWAYS); - default: - /* shouldn't be called with unsupported options */ - WARN_ON(1); -diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c -index fb1115857e49..6aac21d86d37 100644 ---- a/net/bridge/br_device.c -+++ b/net/bridge/br_device.c -@@ -87,10 +87,10 @@ netdev_tx_t br_dev_xmit(struct sk_buff *skb, struct net_device *dev) - - dest = eth_hdr(skb)->h_dest; - if (is_broadcast_ether_addr(dest)) { -- br_flood(br, skb, BR_PKT_BROADCAST, false, true, vid); -+ br_flood(br, skb, NULL, BR_PKT_BROADCAST, false, true, vid); - } else if (is_multicast_ether_addr(dest)) { - if (unlikely(netpoll_tx_running(dev))) { -- br_flood(br, skb, BR_PKT_MULTICAST, false, true, vid); -+ br_flood(br, skb, brmctx, BR_PKT_MULTICAST, false, true, vid); - goto out; - } - if (br_multicast_rcv(&brmctx, &pmctx_null, vlan, skb, vid)) { -@@ -103,11 +103,11 @@ netdev_tx_t br_dev_xmit(struct sk_buff *skb, struct net_device *dev) - br_multicast_querier_exists(brmctx, eth_hdr(skb), mdst)) - br_multicast_flood(mdst, skb, brmctx, false, true); - else -- br_flood(br, skb, BR_PKT_MULTICAST, false, true, vid); -+ br_flood(br, skb, brmctx, BR_PKT_MULTICAST, false, true, vid); - } else if ((dst = br_fdb_find_rcu(br, dest, vid)) != NULL) { - br_forward(dst->dst, skb, false, true); - } else { -- br_flood(br, skb, BR_PKT_UNICAST, false, true, vid); -+ br_flood(br, skb, NULL, BR_PKT_UNICAST, false, true, vid); - } - out: - rcu_read_unlock(); -@@ -524,6 +524,8 @@ void br_dev_setup(struct net_device *dev) - br->bridge_ageing_time = br->ageing_time = BR_DEFAULT_AGEING_TIME; - dev->max_mtu = ETH_MAX_MTU; - -+ br_opt_toggle(br, BROPT_MCAST_FLOOD_ALWAYS, false); -+ - br_netfilter_rtable_init(br); - br_stp_timer_init(br); - br_multicast_init(br); -diff --git a/net/bridge/br_forward.c b/net/bridge/br_forward.c -index e19b583ff2c6..1094364d96e0 100644 ---- a/net/bridge/br_forward.c -+++ b/net/bridge/br_forward.c -@@ -198,14 +198,19 @@ static struct net_bridge_port *maybe_deliver( - - /* called under rcu_read_lock */ - void br_flood(struct net_bridge *br, struct sk_buff *skb, -- enum br_pkt_type pkt_type, bool local_rcv, bool local_orig, -- u16 vid) -+ struct net_bridge_mcast *brmctx, enum br_pkt_type pkt_type, -+ bool local_rcv, bool local_orig, u16 vid) - { -+ struct net_bridge_port *rport = NULL; - struct net_bridge_port *prev = NULL; -+ struct hlist_node *rp = NULL; - struct net_bridge_port *p; - - br_tc_skb_miss_set(skb, pkt_type != BR_PKT_BROADCAST); - -+ if (pkt_type == BR_PKT_MULTICAST) -+ rp = br_multicast_get_first_rport_node(brmctx, skb); -+ - list_for_each_entry_rcu(p, &br->port_list, list) { - /* Do not flood unicast traffic to ports that turn it off, nor - * other traffic if flood off, except for traffic we originate -@@ -216,6 +221,11 @@ void br_flood(struct net_bridge *br, struct sk_buff *skb, - continue; - break; - case BR_PKT_MULTICAST: -+ rport = br_multicast_rport_from_node_skb(rp, skb); -+ if (rport == p) { -+ rp = rcu_dereference(hlist_next_rcu(rp)); -+ break; -+ } - if (!(p->flags & BR_MCAST_FLOOD) && skb->dev != br->dev) - continue; - break; -diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c -index ceaa5a89b947..e54d648db7de 100644 ---- a/net/bridge/br_input.c -+++ b/net/bridge/br_input.c -@@ -212,7 +212,7 @@ int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb - br_forward(dst->dst, skb, local_rcv, false); - } else { - if (!mcast_hit) -- br_flood(br, skb, pkt_type, local_rcv, false, vid); -+ br_flood(br, skb, brmctx, pkt_type, local_rcv, false, vid); - else - br_multicast_flood(mdst, skb, brmctx, local_rcv, false); - } -diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c -index 9a1cb5079a7a..dc49df4f92a8 100644 ---- a/net/bridge/br_multicast.c -+++ b/net/bridge/br_multicast.c -@@ -3776,6 +3776,11 @@ static void br_multicast_err_count(const struct net_bridge *br, - u64_stats_update_end(&pstats->syncp); - } - -+static bool br_flood_mrouters(const struct net_bridge *br) -+{ -+ return br_opt_get(br, BROPT_MCAST_FLOOD_ALWAYS) ? false : true; -+} -+ - static void br_multicast_pim(struct net_bridge_mcast *brmctx, - struct net_bridge_mcast_port *pmctx, - const struct sk_buff *skb) -@@ -3822,7 +3827,8 @@ static int br_multicast_ipv4_rcv(struct net_bridge_mcast *brmctx, - - if (err == -ENOMSG) { - if (!ipv4_is_local_multicast(ip_hdr(skb)->daddr)) { -- BR_INPUT_SKB_CB(skb)->mrouters_only = 1; -+ BR_INPUT_SKB_CB(skb)->mrouters_only = -+ br_flood_mrouters(brmctx->br); - } else if (pim_ipv4_all_pim_routers(ip_hdr(skb)->daddr)) { - if (ip_hdr(skb)->protocol == IPPROTO_PIM) - br_multicast_pim(brmctx, pmctx, skb); -@@ -3891,7 +3897,8 @@ static int br_multicast_ipv6_rcv(struct net_bridge_mcast *brmctx, - - if (err == -ENOMSG || err == -ENODATA) { - if (!ipv6_addr_is_ll_all_nodes(&ipv6_hdr(skb)->daddr)) -- BR_INPUT_SKB_CB(skb)->mrouters_only = 1; -+ BR_INPUT_SKB_CB(skb)->mrouters_only = -+ br_flood_mrouters(brmctx->br); - if (err == -ENODATA && - ipv6_addr_is_all_snoopers(&ipv6_hdr(skb)->daddr)) - br_ip6_multicast_mrd_rcv(brmctx, pmctx, skb); -diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h -index d4bedc87b1d8..dfd6e2cdd13e 100644 ---- a/net/bridge/br_private.h -+++ b/net/bridge/br_private.h -@@ -483,6 +483,7 @@ enum net_bridge_opts { - BROPT_VLAN_BRIDGE_BINDING, - BROPT_MCAST_VLAN_SNOOPING_ENABLED, - BROPT_MST_ENABLED, -+ BROPT_MCAST_FLOOD_ALWAYS, - }; - - struct net_bridge { -@@ -886,8 +887,8 @@ void br_forward(const struct net_bridge_port *to, struct sk_buff *skb, - bool local_rcv, bool local_orig); - int br_forward_finish(struct net *net, struct sock *sk, struct sk_buff *skb); - void br_flood(struct net_bridge *br, struct sk_buff *skb, -- enum br_pkt_type pkt_type, bool local_rcv, bool local_orig, -- u16 vid); -+ struct net_bridge_mcast *brmctx, enum br_pkt_type pkt_type, -+ bool local_rcv, bool local_orig, u16 vid); - - /* return true if both source port and dest port are isolated */ - static inline bool br_skb_isolated(const struct net_bridge_port *to, -@@ -1408,6 +1409,19 @@ static inline void br_multicast_flood(struct net_bridge_mdb_entry *mdst, - { - } - -+static inline struct hlist_node * -+br_multicast_get_first_rport_node(struct net_bridge_mcast *brmctx, -+ struct sk_buff *skb) -+{ -+ return NULL; -+} -+ -+static inline struct net_bridge_port * -+br_multicast_rport_from_node_skb(struct hlist_node *rp, struct sk_buff *skb) -+{ -+ return NULL; -+} -+ - static inline bool br_multicast_is_router(struct net_bridge_mcast *brmctx, - struct sk_buff *skb) - { --- -2.43.0 - diff --git a/patches/linux/6.10.3/0002-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch b/patches/linux/6.10.3/0002-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch deleted file mode 100644 index 9c31d1557..000000000 --- a/patches/linux/6.10.3/0002-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 75edfa9b690b65423aa3e63ed5870d565950d9bb Mon Sep 17 00:00:00 2001 -From: Joachim Wiberg -Date: Tue, 5 Mar 2024 06:44:41 +0100 -Subject: [PATCH 2/5] net: bridge: Ignore router ports when forwarding L2 - multicast -Organization: Addiva Elektronik - -Multicast router ports are either statically configured or learned from -control protocol traffic (IGMP/MLD/PIM). These protocols regulate IP -multicast -- MAC multicast should always be forwarded through flooding -of unknown multicast or using permanent MDB entries. - -Signed-off-by: Tobias Waldekranz -Signed-off-by: Joachim Wiberg ---- - net/bridge/br_private.h | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h -index dfd6e2cdd13e..7aabf8bd7da2 100644 ---- a/net/bridge/br_private.h -+++ b/net/bridge/br_private.h -@@ -1086,7 +1086,10 @@ br_multicast_get_first_rport_node(struct net_bridge_mcast *brmctx, - if (skb->protocol == htons(ETH_P_IPV6)) - return rcu_dereference(hlist_first_rcu(&brmctx->ip6_mc_router_list)); - #endif -- return rcu_dereference(hlist_first_rcu(&brmctx->ip4_mc_router_list)); -+ if (skb->protocol == htons(ETH_P_IP)) -+ return rcu_dereference(hlist_first_rcu(&brmctx->ip4_mc_router_list)); -+ -+ return NULL; - } - - static inline struct net_bridge_port * --- -2.43.0 - diff --git a/patches/linux/6.10.3/0003-net-bridge-drop-delay-for-applying-strict-multicast-.patch b/patches/linux/6.10.3/0003-net-bridge-drop-delay-for-applying-strict-multicast-.patch deleted file mode 100644 index 8ddc94d96..000000000 --- a/patches/linux/6.10.3/0003-net-bridge-drop-delay-for-applying-strict-multicast-.patch +++ /dev/null @@ -1,190 +0,0 @@ -From 2d2ac57a7d9354c2c1fa796659e33496fc8e918d Mon Sep 17 00:00:00 2001 -From: Joachim Wiberg -Date: Thu, 4 Apr 2024 16:36:30 +0200 -Subject: [PATCH 3/5] net: bridge: drop delay for applying strict multicast - filtering -Organization: Addiva Elektronik - -This *local* patch drops the initial delay before applying strict multicast -filtering, introduced in [1] and recently updated in [2]. - -The main reason for this patch is RFC conformance and customer expectations. -At power on we assume the querier role by default and are expected to stop -unknown flooding as soon as we have a membership report in place, not after -10 seconds. - -A proper fix for upstreaming could be to add a knob to disable the delay. - -[1]: https://lore.kernel.org/netdev/1375311980-25575-1-git-send-email-linus.luessing@web.de/ -[2]: https://lore.kernel.org/netdev/20240127175033.9640-1-linus.luessing@c0d3.blue/ - -Signed-off-by: Joachim Wiberg ---- - net/bridge/br_multicast.c | 42 +++++++-------------------------------- - net/bridge/br_private.h | 4 +--- - 2 files changed, 8 insertions(+), 38 deletions(-) - -diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c -index dc49df4f92a8..47c0625c5553 100644 ---- a/net/bridge/br_multicast.c -+++ b/net/bridge/br_multicast.c -@@ -1762,10 +1762,6 @@ static void br_ip6_multicast_querier_expired(struct timer_list *t) - } - #endif - --static void br_multicast_query_delay_expired(struct timer_list *t) --{ --} -- - static void br_multicast_select_own_querier(struct net_bridge_mcast *brmctx, - struct br_ip *ip, - struct sk_buff *skb) -@@ -3198,12 +3194,8 @@ int br_multicast_dump_querier_state(struct sk_buff *skb, - - static void - br_multicast_update_query_timer(struct net_bridge_mcast *brmctx, -- struct bridge_mcast_other_query *query, -- unsigned long max_delay) -+ struct bridge_mcast_other_query *query) - { -- if (!timer_pending(&query->timer)) -- mod_timer(&query->delay_timer, jiffies + max_delay); -- - mod_timer(&query->timer, jiffies + brmctx->multicast_querier_interval); - } - -@@ -3394,13 +3386,12 @@ static void - br_ip4_multicast_query_received(struct net_bridge_mcast *brmctx, - struct net_bridge_mcast_port *pmctx, - struct bridge_mcast_other_query *query, -- struct br_ip *saddr, -- unsigned long max_delay) -+ struct br_ip *saddr) - { - if (!br_multicast_select_querier(brmctx, pmctx, saddr)) - return; - -- br_multicast_update_query_timer(brmctx, query, max_delay); -+ br_multicast_update_query_timer(brmctx, query); - br_ip4_multicast_mark_router(brmctx, pmctx); - } - -@@ -3409,13 +3400,12 @@ static void - br_ip6_multicast_query_received(struct net_bridge_mcast *brmctx, - struct net_bridge_mcast_port *pmctx, - struct bridge_mcast_other_query *query, -- struct br_ip *saddr, -- unsigned long max_delay) -+ struct br_ip *saddr) - { - if (!br_multicast_select_querier(brmctx, pmctx, saddr)) - return; - -- br_multicast_update_query_timer(brmctx, query, max_delay); -+ br_multicast_update_query_timer(brmctx, query); - br_ip6_multicast_mark_router(brmctx, pmctx); - } - #endif -@@ -3469,7 +3459,7 @@ static void br_ip4_multicast_query(struct net_bridge_mcast *brmctx, - - br_ip4_multicast_query_received(brmctx, pmctx, - &brmctx->ip4_other_query, -- &saddr, max_delay); -+ &saddr); - goto out; - } - -@@ -3557,7 +3547,7 @@ static int br_ip6_multicast_query(struct net_bridge_mcast *brmctx, - - br_ip6_multicast_query_received(brmctx, pmctx, - &brmctx->ip6_other_query, -- &saddr, max_delay); -+ &saddr); - goto out; - } else if (!group) { - goto out; -@@ -4065,8 +4055,6 @@ void br_multicast_ctx_init(struct net_bridge *br, - br_ip4_multicast_local_router_expired, 0); - timer_setup(&brmctx->ip4_other_query.timer, - br_ip4_multicast_querier_expired, 0); -- timer_setup(&brmctx->ip4_other_query.delay_timer, -- br_multicast_query_delay_expired, 0); - timer_setup(&brmctx->ip4_own_query.timer, - br_ip4_multicast_query_expired, 0); - #if IS_ENABLED(CONFIG_IPV6) -@@ -4074,8 +4062,6 @@ void br_multicast_ctx_init(struct net_bridge *br, - br_ip6_multicast_local_router_expired, 0); - timer_setup(&brmctx->ip6_other_query.timer, - br_ip6_multicast_querier_expired, 0); -- timer_setup(&brmctx->ip6_other_query.delay_timer, -- br_multicast_query_delay_expired, 0); - timer_setup(&brmctx->ip6_own_query.timer, - br_ip6_multicast_query_expired, 0); - #endif -@@ -4210,12 +4196,10 @@ static void __br_multicast_stop(struct net_bridge_mcast *brmctx) - { - del_timer_sync(&brmctx->ip4_mc_router_timer); - del_timer_sync(&brmctx->ip4_other_query.timer); -- del_timer_sync(&brmctx->ip4_other_query.delay_timer); - del_timer_sync(&brmctx->ip4_own_query.timer); - #if IS_ENABLED(CONFIG_IPV6) - del_timer_sync(&brmctx->ip6_mc_router_timer); - del_timer_sync(&brmctx->ip6_other_query.timer); -- del_timer_sync(&brmctx->ip6_other_query.delay_timer); - del_timer_sync(&brmctx->ip6_own_query.timer); - #endif - } -@@ -4643,8 +4627,6 @@ EXPORT_SYMBOL_GPL(br_multicast_router); - - int br_multicast_set_querier(struct net_bridge_mcast *brmctx, unsigned long val) - { -- unsigned long max_delay; -- - val = !!val; - - spin_lock_bh(&brmctx->br->multicast_lock); -@@ -4655,19 +4637,9 @@ int br_multicast_set_querier(struct net_bridge_mcast *brmctx, unsigned long val) - if (!val) - goto unlock; - -- max_delay = brmctx->multicast_query_response_interval; -- -- if (!timer_pending(&brmctx->ip4_other_query.timer)) -- mod_timer(&brmctx->ip4_other_query.delay_timer, -- jiffies + max_delay); -- - br_multicast_start_querier(brmctx, &brmctx->ip4_own_query); - - #if IS_ENABLED(CONFIG_IPV6) -- if (!timer_pending(&brmctx->ip6_other_query.timer)) -- mod_timer(&brmctx->ip6_other_query.delay_timer, -- jiffies + max_delay); -- - br_multicast_start_querier(brmctx, &brmctx->ip6_own_query); - #endif - -diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h -index 7aabf8bd7da2..43fff09dfb71 100644 ---- a/net/bridge/br_private.h -+++ b/net/bridge/br_private.h -@@ -78,7 +78,6 @@ struct bridge_mcast_own_query { - /* other querier */ - struct bridge_mcast_other_query { - struct timer_list timer; -- struct timer_list delay_timer; - }; - - /* selected querier */ -@@ -1164,8 +1163,7 @@ __br_multicast_querier_exists(struct net_bridge_mcast *brmctx, - own_querier_enabled = false; - } - -- return !timer_pending(&querier->delay_timer) && -- (own_querier_enabled || timer_pending(&querier->timer)); -+ return own_querier_enabled || timer_pending(&querier->timer); - } - - static inline bool br_multicast_querier_exists(struct net_bridge_mcast *brmctx, --- -2.43.0 - diff --git a/patches/linux/6.10.3/0004-usb-core-adjust-log-level-for-unauthorized-devices.patch b/patches/linux/6.10.3/0004-usb-core-adjust-log-level-for-unauthorized-devices.patch deleted file mode 100644 index 978eed192..000000000 --- a/patches/linux/6.10.3/0004-usb-core-adjust-log-level-for-unauthorized-devices.patch +++ /dev/null @@ -1,49 +0,0 @@ -From c7818c4273ef1705d6e153f5e4eda683d68f59be Mon Sep 17 00:00:00 2001 -From: Joachim Wiberg -Date: Mon, 29 Apr 2024 15:14:51 +0200 -Subject: [PATCH 4/5] usb: core: adjust log level for unauthorized devices -Organization: Addiva Elektronik - -The fact that a USB device currently is not authorized is not an error, -so let's adjust the log level so these messages slip below radar for the -commonly used 'quiet' log level. - -Signed-off-by: Joachim Wiberg ---- - drivers/usb/core/driver.c | 4 ++-- - drivers/usb/core/generic.c | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c -index e02ba15f6e34..3fe4d15cd6db 100644 ---- a/drivers/usb/core/driver.c -+++ b/drivers/usb/core/driver.c -@@ -335,10 +335,10 @@ static int usb_probe_interface(struct device *dev) - return error; - - if (udev->authorized == 0) { -- dev_err(&intf->dev, "Device is not authorized for usage\n"); -+ dev_warn(&intf->dev, "Device is not authorized for usage\n"); - return error; - } else if (intf->authorized == 0) { -- dev_err(&intf->dev, "Interface %d is not authorized for usage\n", -+ dev_warn(&intf->dev, "Interface %d is not authorized for usage\n", - intf->altsetting->desc.bInterfaceNumber); - return error; - } -diff --git a/drivers/usb/core/generic.c b/drivers/usb/core/generic.c -index b134bff5c3fe..60575a01a810 100644 ---- a/drivers/usb/core/generic.c -+++ b/drivers/usb/core/generic.c -@@ -247,7 +247,7 @@ int usb_generic_driver_probe(struct usb_device *udev) - * with the driver core and lets interface drivers bind to them. - */ - if (udev->authorized == 0) -- dev_err(&udev->dev, "Device is not authorized for usage\n"); -+ dev_warn(&udev->dev, "Device is not authorized for usage\n"); - else { - c = usb_choose_configuration(udev); - if (c >= 0) { --- -2.43.0 - diff --git a/patches/linux/6.12.21/0001-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch b/patches/linux/6.12.21/0001-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch index 04a8f7fb4..94faf0bfd 100644 --- a/patches/linux/6.12.21/0001-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch +++ b/patches/linux/6.12.21/0001-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch @@ -1,7 +1,7 @@ From 774cf1d3f5b9cfac247c3efcf4eed39d06c675dc Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 12 Mar 2024 10:27:24 +0100 -Subject: [PATCH 01/27] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for +Subject: [PATCH 01/28] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for PPU on 6393X Organization: Wires diff --git a/patches/linux/6.12.21/0002-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch b/patches/linux/6.12.21/0002-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch index 99f7b5312..d9fafed7e 100644 --- a/patches/linux/6.12.21/0002-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch +++ b/patches/linux/6.12.21/0002-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch @@ -1,7 +1,7 @@ From 6bd6c3c49c438e35d61669879b64b6c4a00d1a19 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 27 Mar 2024 15:52:43 +0100 -Subject: [PATCH 02/27] net: dsa: mv88e6xxx: Improve indirect register access +Subject: [PATCH 02/28] net: dsa: mv88e6xxx: Improve indirect register access perf on 6393 Organization: Wires diff --git a/patches/linux/6.12.21/0003-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch b/patches/linux/6.12.21/0003-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch index 27cf50d64..630630ef4 100644 --- a/patches/linux/6.12.21/0003-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch +++ b/patches/linux/6.12.21/0003-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch @@ -1,7 +1,7 @@ From 02bb753cee9b24a3a1bcbcd15c3729144200eafc Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Mon, 22 Apr 2024 23:18:01 +0200 -Subject: [PATCH 03/27] net: dsa: mv88e6xxx: Honor ports being managed via +Subject: [PATCH 03/28] net: dsa: mv88e6xxx: Honor ports being managed via in-band-status Organization: Wires diff --git a/patches/linux/6.12.21/0004-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch b/patches/linux/6.12.21/0004-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch index 45b222ba8..72f2ae392 100644 --- a/patches/linux/6.12.21/0004-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch +++ b/patches/linux/6.12.21/0004-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch @@ -1,7 +1,7 @@ From 6cbb6a0a54d81ff5b117b023ac7e251ab1e9c556 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 24 Apr 2024 22:41:04 +0200 -Subject: [PATCH 04/27] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user +Subject: [PATCH 04/28] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user ports on 6393X Organization: Wires diff --git a/patches/linux/6.12.21/0005-net-dsa-mv88e6xxx-Add-LED-infrastructure.patch b/patches/linux/6.12.21/0005-net-dsa-mv88e6xxx-Add-LED-infrastructure.patch index f8b166dd9..33374568f 100644 --- a/patches/linux/6.12.21/0005-net-dsa-mv88e6xxx-Add-LED-infrastructure.patch +++ b/patches/linux/6.12.21/0005-net-dsa-mv88e6xxx-Add-LED-infrastructure.patch @@ -1,7 +1,7 @@ From 86b1608084c6e9676db0641f31203d8067893470 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 16 Nov 2023 19:44:32 +0100 -Subject: [PATCH 05/27] net: dsa: mv88e6xxx: Add LED infrastructure +Subject: [PATCH 05/28] net: dsa: mv88e6xxx: Add LED infrastructure Organization: Wires Parse DT for LEDs and register them for devices that support it, diff --git a/patches/linux/6.12.21/0006-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch b/patches/linux/6.12.21/0006-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch index 40f7dac4a..4216b47d2 100644 --- a/patches/linux/6.12.21/0006-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch +++ b/patches/linux/6.12.21/0006-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch @@ -1,7 +1,7 @@ From 5496a27ee644f72b721eba0e8c057efb65ee445f Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 16 Nov 2023 21:59:35 +0100 -Subject: [PATCH 06/27] net: dsa: mv88e6xxx: Add LED support for 6393X +Subject: [PATCH 06/28] net: dsa: mv88e6xxx: Add LED support for 6393X Organization: Wires Trigger support: diff --git a/patches/linux/6.12.21/0007-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch b/patches/linux/6.12.21/0007-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch index b314e1c64..e685db024 100644 --- a/patches/linux/6.12.21/0007-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch +++ b/patches/linux/6.12.21/0007-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch @@ -1,7 +1,7 @@ From a0e2ebe61422d5e0e330022a2a38a31c049a4407 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 10:38:42 +0200 -Subject: [PATCH 07/27] net: dsa: tag_dsa: Use tag priority as initial +Subject: [PATCH 07/28] net: dsa: tag_dsa: Use tag priority as initial skb->priority Organization: Wires diff --git a/patches/linux/6.12.21/0008-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch b/patches/linux/6.12.21/0008-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch index 16214e7ca..b3f85d533 100644 --- a/patches/linux/6.12.21/0008-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch +++ b/patches/linux/6.12.21/0008-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch @@ -1,7 +1,7 @@ From a88679c946d5163eb0e30718109c18ddbbd8cfc6 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 16 Jan 2024 16:00:55 +0100 -Subject: [PATCH 08/27] net: dsa: Support MDB memberships whose L2 addresses +Subject: [PATCH 08/28] net: dsa: Support MDB memberships whose L2 addresses overlap Organization: Wires diff --git a/patches/linux/6.12.21/0009-net-dsa-Support-EtherType-based-priority-overrides.patch b/patches/linux/6.12.21/0009-net-dsa-Support-EtherType-based-priority-overrides.patch index b0debf6ab..c2a715483 100644 --- a/patches/linux/6.12.21/0009-net-dsa-Support-EtherType-based-priority-overrides.patch +++ b/patches/linux/6.12.21/0009-net-dsa-Support-EtherType-based-priority-overrides.patch @@ -1,7 +1,7 @@ From c6528f18fbafef721c18e546aa0b60c1b1d772c6 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 21 Mar 2024 19:12:15 +0100 -Subject: [PATCH 09/27] net: dsa: Support EtherType based priority overrides +Subject: [PATCH 09/28] net: dsa: Support EtherType based priority overrides Organization: Wires Signed-off-by: Tobias Waldekranz diff --git a/patches/linux/6.12.21/0010-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch b/patches/linux/6.12.21/0010-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch index 0a54624a2..bd70ef4d8 100644 --- a/patches/linux/6.12.21/0010-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch +++ b/patches/linux/6.12.21/0010-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch @@ -1,7 +1,7 @@ From bc41b93b365694ac36a19565270b8deda3b8cb79 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 22 Mar 2024 16:15:43 +0100 -Subject: [PATCH 10/27] net: dsa: mv88e6xxx: Support EtherType based priority +Subject: [PATCH 10/28] net: dsa: mv88e6xxx: Support EtherType based priority overrides Organization: Wires diff --git a/patches/linux/6.12.21/0011-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch b/patches/linux/6.12.21/0011-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch index 3076d340d..6d342a10f 100644 --- a/patches/linux/6.12.21/0011-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch +++ b/patches/linux/6.12.21/0011-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch @@ -1,7 +1,7 @@ From 70c1d59448db0ec88c07fa4ff5748b0df740a8d2 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 11:04:22 +0200 -Subject: [PATCH 11/27] net: dsa: mv88e6xxx: Add mqprio qdisc support +Subject: [PATCH 11/28] net: dsa: mv88e6xxx: Add mqprio qdisc support Organization: Wires Add support for attaching mqprio qdisc's to mv88e6xxx ports and use diff --git a/patches/linux/6.12.21/0012-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch b/patches/linux/6.12.21/0012-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch index da0a2d697..fab282050 100644 --- a/patches/linux/6.12.21/0012-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch +++ b/patches/linux/6.12.21/0012-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch @@ -1,7 +1,7 @@ From c3721cb1cccf3c8fe18bea05c9ad20e7082291bd Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 29 May 2024 13:20:41 +0200 -Subject: [PATCH 12/27] net: dsa: mv88e6xxx: Use VLAN prio over IP when both +Subject: [PATCH 12/28] net: dsa: mv88e6xxx: Use VLAN prio over IP when both are available Organization: Wires diff --git a/patches/linux/6.12.21/0013-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch b/patches/linux/6.12.21/0013-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch index dbf15c568..a5579ca07 100644 --- a/patches/linux/6.12.21/0013-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch +++ b/patches/linux/6.12.21/0013-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch @@ -1,7 +1,7 @@ From 373d60426de6d19fd668e1e0b599ca430f351a18 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 26 Nov 2024 19:45:59 +0100 -Subject: [PATCH 13/27] [FIX] net: dsa: mv88e6xxx: Trap locally terminated +Subject: [PATCH 13/28] [FIX] net: dsa: mv88e6xxx: Trap locally terminated VLANs Organization: Wires diff --git a/patches/linux/6.12.21/0014-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch b/patches/linux/6.12.21/0014-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch index 93f0320e4..3260e877a 100644 --- a/patches/linux/6.12.21/0014-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch +++ b/patches/linux/6.12.21/0014-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch @@ -1,7 +1,7 @@ From a6368c60ac6ae2e0d97ac571b6506aa09becbb71 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 19 Sep 2023 18:38:10 +0200 -Subject: [PATCH 14/27] net: phy: marvell10g: Support firmware loading on +Subject: [PATCH 14/28] net: phy: marvell10g: Support firmware loading on 88X3310 Organization: Wires diff --git a/patches/linux/6.12.21/0015-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch b/patches/linux/6.12.21/0015-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch index bc1b1005a..bfea152b3 100644 --- a/patches/linux/6.12.21/0015-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch +++ b/patches/linux/6.12.21/0015-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch @@ -1,7 +1,7 @@ From 550dd1b443cf9d054f2a523088fbe22b215e07cb Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 21 Nov 2023 20:15:24 +0100 -Subject: [PATCH 15/27] net: phy: marvell10g: Fix power-up when strapped to +Subject: [PATCH 15/28] net: phy: marvell10g: Fix power-up when strapped to start powered down Organization: Wires diff --git a/patches/linux/6.12.21/0016-net-phy-marvell10g-Add-LED-support-for-88X3310.patch b/patches/linux/6.12.21/0016-net-phy-marvell10g-Add-LED-support-for-88X3310.patch index 94fae3016..cdc55e408 100644 --- a/patches/linux/6.12.21/0016-net-phy-marvell10g-Add-LED-support-for-88X3310.patch +++ b/patches/linux/6.12.21/0016-net-phy-marvell10g-Add-LED-support-for-88X3310.patch @@ -1,7 +1,7 @@ From 9ca4c28ccf7857a36db8dd3c37dcd005222bdb78 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 15 Nov 2023 20:58:42 +0100 -Subject: [PATCH 16/27] net: phy: marvell10g: Add LED support for 88X3310 +Subject: [PATCH 16/28] net: phy: marvell10g: Add LED support for 88X3310 Organization: Wires Pickup the LEDs from the state in which the hardware reset or diff --git a/patches/linux/6.12.21/0017-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch b/patches/linux/6.12.21/0017-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch index c534bfdff..a0eaebf85 100644 --- a/patches/linux/6.12.21/0017-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch +++ b/patches/linux/6.12.21/0017-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch @@ -1,7 +1,7 @@ From 69f9bda6cab34556e67a096c282eee7337f97f26 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 12 Dec 2023 09:51:05 +0100 -Subject: [PATCH 17/27] net: phy: marvell10g: Support LEDs tied to a single +Subject: [PATCH 17/28] net: phy: marvell10g: Support LEDs tied to a single media side Organization: Wires diff --git a/patches/linux/6.12.21/0018-net-phy-Do-not-resume-PHY-when-attaching.patch b/patches/linux/6.12.21/0018-net-phy-Do-not-resume-PHY-when-attaching.patch index 27fb1fddb..5f6f24d7f 100644 --- a/patches/linux/6.12.21/0018-net-phy-Do-not-resume-PHY-when-attaching.patch +++ b/patches/linux/6.12.21/0018-net-phy-Do-not-resume-PHY-when-attaching.patch @@ -1,7 +1,7 @@ From f70be42f0ee50cda8c1cde14442ea8285c01834b Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 27 Mar 2024 10:10:19 +0100 -Subject: [PATCH 18/27] net: phy: Do not resume PHY when attaching +Subject: [PATCH 18/28] net: phy: Do not resume PHY when attaching Organization: Wires The PHY should not start negotiating with its link-partner until diff --git a/patches/linux/6.12.21/0019-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch b/patches/linux/6.12.21/0019-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch index 567c86ac3..0c1cf6f69 100644 --- a/patches/linux/6.12.21/0019-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch +++ b/patches/linux/6.12.21/0019-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch @@ -1,7 +1,7 @@ From 17d6f3f6a7429ae635d0359b39da2e173c403fdf Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 4 Mar 2024 16:47:28 +0100 -Subject: [PATCH 19/27] net: bridge: avoid classifying unknown multicast as +Subject: [PATCH 19/28] net: bridge: avoid classifying unknown multicast as mrouters_only Organization: Wires diff --git a/patches/linux/6.12.21/0020-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch b/patches/linux/6.12.21/0020-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch index 399919062..52d259229 100644 --- a/patches/linux/6.12.21/0020-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch +++ b/patches/linux/6.12.21/0020-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch @@ -1,7 +1,7 @@ From 27ca82c96a6bcd560e908eed17fc24126e8051a6 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 5 Mar 2024 06:44:41 +0100 -Subject: [PATCH 20/27] net: bridge: Ignore router ports when forwarding L2 +Subject: [PATCH 20/28] net: bridge: Ignore router ports when forwarding L2 multicast Organization: Wires diff --git a/patches/linux/6.12.21/0021-net-bridge-drop-delay-for-applying-strict-multicast-.patch b/patches/linux/6.12.21/0021-net-bridge-drop-delay-for-applying-strict-multicast-.patch index d73f94c59..0659d7403 100644 --- a/patches/linux/6.12.21/0021-net-bridge-drop-delay-for-applying-strict-multicast-.patch +++ b/patches/linux/6.12.21/0021-net-bridge-drop-delay-for-applying-strict-multicast-.patch @@ -1,7 +1,7 @@ From bbbb4f7460efeaf057d37d837cae79a565a6d406 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 4 Apr 2024 16:36:30 +0200 -Subject: [PATCH 21/27] net: bridge: drop delay for applying strict multicast +Subject: [PATCH 21/28] net: bridge: drop delay for applying strict multicast filtering Organization: Wires diff --git a/patches/linux/6.12.21/0022-net-bridge-Differentiate-MDB-additions-from-modifica.patch b/patches/linux/6.12.21/0022-net-bridge-Differentiate-MDB-additions-from-modifica.patch index b2ed442b5..2891a1f84 100644 --- a/patches/linux/6.12.21/0022-net-bridge-Differentiate-MDB-additions-from-modifica.patch +++ b/patches/linux/6.12.21/0022-net-bridge-Differentiate-MDB-additions-from-modifica.patch @@ -1,7 +1,7 @@ From 7c751c24428060c3e87f164eb2a054db410f4b0d Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 16 May 2024 14:51:54 +0200 -Subject: [PATCH 22/27] net: bridge: Differentiate MDB additions from +Subject: [PATCH 22/28] net: bridge: Differentiate MDB additions from modifications Organization: Wires diff --git a/patches/linux/6.12.21/0023-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch b/patches/linux/6.12.21/0023-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch index f3f870b15..654510946 100644 --- a/patches/linux/6.12.21/0023-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch +++ b/patches/linux/6.12.21/0023-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch @@ -1,7 +1,7 @@ From db0d727f6cc90ccea2378d876329c151db1670dc Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 24 Nov 2023 23:29:55 +0100 -Subject: [PATCH 23/27] nvmem: layouts: onie-tlv: Let device probe even when +Subject: [PATCH 23/28] nvmem: layouts: onie-tlv: Let device probe even when TLV is invalid Organization: Wires diff --git a/patches/linux/6.12.21/0024-usb-core-adjust-log-level-for-unauthorized-devices.patch b/patches/linux/6.12.21/0024-usb-core-adjust-log-level-for-unauthorized-devices.patch index d666c5fab..36caaea7f 100644 --- a/patches/linux/6.12.21/0024-usb-core-adjust-log-level-for-unauthorized-devices.patch +++ b/patches/linux/6.12.21/0024-usb-core-adjust-log-level-for-unauthorized-devices.patch @@ -1,7 +1,7 @@ From ed58f4b6e7344bdefceb7ac31d1c769a6d127827 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 29 Apr 2024 15:14:51 +0200 -Subject: [PATCH 24/27] usb: core: adjust log level for unauthorized devices +Subject: [PATCH 24/28] usb: core: adjust log level for unauthorized devices Organization: Wires The fact that a USB device currently is not authorized is not an error, diff --git a/patches/linux/6.12.21/0025-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch b/patches/linux/6.12.21/0025-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch index 1f9d986f8..1d983fce6 100644 --- a/patches/linux/6.12.21/0025-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch +++ b/patches/linux/6.12.21/0025-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch @@ -1,7 +1,7 @@ From e7f7ae788680b4ec73af736453ec4afeb34d9842 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 16 Jan 2025 12:35:12 +0100 -Subject: [PATCH 25/27] net: dsa: mv88e6xxx: collapse disabled state into +Subject: [PATCH 25/28] net: dsa: mv88e6xxx: collapse disabled state into blocking Organization: Wires diff --git a/patches/linux/6.12.21/0026-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch b/patches/linux/6.12.21/0026-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch index 0337cc7c8..7b4ff41d0 100644 --- a/patches/linux/6.12.21/0026-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch +++ b/patches/linux/6.12.21/0026-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch @@ -1,7 +1,7 @@ From 823687aa03d866f3b76b5e40e35fa56c7f6f4492 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 12 Feb 2025 22:03:14 +0100 -Subject: [PATCH 26/27] net: dsa: mv88e6xxx: Only activate LAG offloading when +Subject: [PATCH 26/28] net: dsa: mv88e6xxx: Only activate LAG offloading when bridged Organization: Wires diff --git a/patches/linux/6.12.21/0027-net-mvpp2-Prevent-parser-TCAM-memory-corruption.patch b/patches/linux/6.12.21/0027-net-mvpp2-Prevent-parser-TCAM-memory-corruption.patch index 0d1a8b81f..064666086 100644 --- a/patches/linux/6.12.21/0027-net-mvpp2-Prevent-parser-TCAM-memory-corruption.patch +++ b/patches/linux/6.12.21/0027-net-mvpp2-Prevent-parser-TCAM-memory-corruption.patch @@ -1,7 +1,7 @@ -From f33dc6fb8cd78eb3b1b2ea3de68b8a54efabdac2 Mon Sep 17 00:00:00 2001 +From 444179c2b41b18c4e9e2300aa7ccd469be809b04 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 18 Mar 2025 10:55:09 +0100 -Subject: [PATCH 27/27] net: mvpp2: Prevent parser TCAM memory corruption +Subject: [PATCH 27/28] net: mvpp2: Prevent parser TCAM memory corruption Organization: Wires Protect the parser TCAM/SRAM memory, and the cached (shadow) SRAM diff --git a/patches/linux/6.10.3/0005-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch b/patches/linux/6.12.21/0028-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch similarity index 81% rename from patches/linux/6.10.3/0005-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch rename to patches/linux/6.12.21/0028-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch index 214f6c882..4a7803757 100644 --- a/patches/linux/6.10.3/0005-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch +++ b/patches/linux/6.12.21/0028-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch @@ -1,9 +1,9 @@ -From daba70e7782b704224396f0d86dcd91b4713e064 Mon Sep 17 00:00:00 2001 +From b68ebd1671df08870854a16b6661b29a4022df90 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 11 Aug 2024 11:27:35 +0200 -Subject: [PATCH 5/5] net: usb: r8152: add r8153b support for link/activity +Subject: [PATCH 28/28] net: usb: r8152: add r8153b support for link/activity LEDs -Organization: Addiva Elektronik +Organization: Wires This patch adds support for the link/activity LEDs on the NanoPi R2S and OrangePi R1 Plus. @@ -19,7 +19,7 @@ Signed-off-by: Joachim Wiberg 1 file changed, 8 insertions(+) diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c -index 19df1cd9f072..810477991810 100644 +index 468c73974046..7e4089f10fde 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -41,6 +41,11 @@ @@ -34,7 +34,7 @@ index 19df1cd9f072..810477991810 100644 #define R8152_PHY_ID 32 #define PLA_IDR 0xc000 -@@ -7296,6 +7301,9 @@ static void r8153b_init(struct r8152 *tp) +@@ -7306,6 +7311,9 @@ static void r8153b_init(struct r8152 *tp) ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN); ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); diff --git a/src/confd/bin/migrate b/src/confd/bin/migrate index b72d00775..41b29c3dd 100755 --- a/src/confd/bin/migrate +++ b/src/confd/bin/migrate @@ -46,8 +46,8 @@ atoi() file_version() { jq -r ' - if .["infix-meta:meta"] | has("infix-meta:version") then - .["infix-meta:meta"]["infix-meta:version"] + if .["infix-meta:meta"] | has("version") then + .["infix-meta:meta"]["version"] else "0.0" end diff --git a/utils/kernel-refresh.sh b/utils/kernel-refresh.sh index c52bf04ec..88ff628c6 100755 --- a/utils/kernel-refresh.sh +++ b/utils/kernel-refresh.sh @@ -3,21 +3,27 @@ usage() { cat < -o [-t ] [-p ] [-d ] - -Synchronize patches directory with changes from a GIT versioned kernel -tree. - - -k Path to kernel tree. - -o Version to be replaced by new kernel version. - -t Base tag from which to generate patches. Default: "v" - followed by the value of BR2_LINUX_KERNEL_VERSION in - the current configuration. - -p Path to kernel patches directory. Default: the value of - BR2_EXTERNAL_INFIX_PATH in the current configuration, - followed by "/patches/linux/". - -d Path to defconfig. Default the value of BR2_EXTERNAL_INFIX_PATH - in the current configuration, followed by "/configs". +Synchronize patches/linux/\$TAG with changes from a kernel GIT tree. + +Usage: + $0 -k kernel-dir -o old-version [-t kernel-tag] [-p patch-dir] [-d defconfig-dir] + +Options: + -h This help text + -k kernel-dir Path to kernel tree + -o old-version Version to be replaced by new kernel version + -t kernel-tag Base tag from which to generate patches. + Default: "v" + \$BR2_LINUX_KERNEL_VERSION + -p patch-dir Path to kernel patches directory + Default: \$BR2_EXTERNAL_INFIX_PATH + "/patches/linux/\$kernel-tag" + -d defconfig-dir Path to defconfig + Default: \$BR2_EXTERNAL_INFIX_PATH + "/configs" + +Example: + cd infix/output + ln -s ../local.mk # Set LINUX_OVERRIDE_SRCDIR to git tree, e.g., ~/src/linux + ../utils/kernel-refresh.sh -k ~/src/linux -o 6.12.21 -t v6.12.21 \\ + -p ~/src/x-misc/patches/linux/6.12.21 EOF } @@ -34,13 +40,14 @@ if [ $# -lt 1 ]; then exit 1 fi -while getopts "k:o:p:d:t:" flag; do +while getopts "hk:o:p:d:t:" flag; do case "${flag}" in - k) KERNEL_DIR=${OPTARG};; - t) KERNEL_TAG=${OPTARG};; - o) OLD_VER=${OPTARG};; - p) PATCH_DIR=${OPTARG};; - d) DEFCONFIG_DIR=${OPTARG};; + h) usage; exit 0;; + k) KERNEL_DIR=${OPTARG};; + t) KERNEL_TAG=${OPTARG};; + o) OLD_VER=${OPTARG};; + p) PATCH_DIR=${OPTARG};; + d) DEFCONFIG_DIR=${OPTARG};; *) exit 1;; esac done @@ -80,7 +87,7 @@ KERNEL_DIR=$(readlink -f $KERNEL_DIR) PATCH_DIR=$(readlink -f $PATCH_DIR) DEFCONFIG_DIR=$(readlink -f $DEFCONFIG_DIR) -git ls-files --error-unmatch $PATCH_DIR 1>/dev/null 2>&1 && git -C $PATCH_DIR rm *.patch +git ls-files --error-unmatch $PATCH_DIR 1>/dev/null 2>&1 && git -C $PATCH_DIR rm -f *.patch git -C $KERNEL_DIR format-patch -o $PATCH_DIR $KERNEL_TAG..HEAD git -C $PATCH_DIR add *.patch find "$DEFCONFIG_DIR" -name "*_defconfig" -exec sed -i "s/BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE=\"$OLD_VER\"/BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE=\"$NEW_VER\"/" {} \;