From e497c975d3719e1d09f169cad33f95cea0b396b6 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Wed, 14 Aug 2024 19:21:06 +0100 Subject: [PATCH 01/12] ramips: mt76x8: add support for Yuncore M300 Hardware: - SoC: MediaTek MT7628DAN (MIPS 580MHz) - Flash: 8 MiB Spansion S25FL064K - RAM: 64 MiB (built-into SoC) - WLAN: 2.4 GHz (MT7628) - Ethernet: 1x 10/100 Mbps WAN, 1x 10/100 LAN (MT7628) - Buttons: 1 Reset button - LEDs: 1x Red, 1x Green - Serial console: unpopulated header, 57600 8n1 (RX only) - Power: 12 VDC, 1 A There are unpopulated areas on the board for 5 GHz WiFi via PCIe as well as (most likely) Quectel EG25-G 4G module. As both are not populated on my board support for both is missing for now. Installation: The installation can be done via the recovery HTTP server which is built into the bootloader. Hold down the reset button while connecting the device to power and keep holding a bit more than 3 seconds. Connect to http://192.168.188.253/ and upload sysupgrade.bin file. Signed-off-by: Daniel Golle --- .../ramips/dts/mt7628an_yuncore_m300.dts | 147 ++++++++++++++++++ target/linux/ramips/image/mt76x8.mk | 7 + .../mt76x8/base-files/etc/board.d/01_leds | 3 +- .../mt76x8/base-files/etc/board.d/02_network | 3 +- target/linux/ramips/mt76x8/config-6.6 | 2 + 5 files changed, 160 insertions(+), 2 deletions(-) create mode 100644 target/linux/ramips/dts/mt7628an_yuncore_m300.dts diff --git a/target/linux/ramips/dts/mt7628an_yuncore_m300.dts b/target/linux/ramips/dts/mt7628an_yuncore_m300.dts new file mode 100644 index 0000000000..7a28c66996 --- /dev/null +++ b/target/linux/ramips/dts/mt7628an_yuncore_m300.dts @@ -0,0 +1,147 @@ +#include "mt7628an.dtsi" + +#include +#include +#include + +/ { + compatible = "yuncore,m300", "mediatek,mt7628an-soc"; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio 38 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + aliases { + label-mac = ðernet; + led-boot = &led_indicator; + led-failsafe = &led_indicator; + led-running = &led_indicator; + led-upgrade = &led_indicator; + }; + + leds { + compatible = "gpio-leds"; + + led_indicator: indicator { + function = LED_FUNCTION_INDICATOR; + color = ; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + }; + + lan { + function = LED_FUNCTION_LAN; + color = ; + gpios = <&gpio 40 GPIO_ACTIVE_LOW>; + }; + + wan { + function = LED_FUNCTION_WAN; + color = ; + gpios = <&gpio 39 GPIO_ACTIVE_LOW>; + }; + }; + + watchdog { + compatible = "linux,wdt-gpio"; + gpios = <&gpio 37 GPIO_ACTIVE_HIGH>; + hw_algo = "toggle"; + hw_margin_ms = <20000>; + always-running; + }; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + eeprom_factory_0: eeprom@0 { + reg = <0x0 0x400>; + }; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; + }; + }; + + partition@50000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; +}; + +ðernet { + nvmem-cells = <&macaddr_factory_4>; + nvmem-cell-names = "mac-address"; +}; + +&esw { + mediatek,portmap = <0x3e>; +}; + +&wmac { + status = "okay"; + + nvmem-cells = <&eeprom_factory_0>; + nvmem-cell-names = "eeprom"; +}; + +&state_default { + gpio { + groups = "pwm1", "pwm0", "uart2", "uart1", "i2c", "refclk", + "perst", "wdt", "sdmode", "i2s", "spi cs1", "spis", + "gpio", "p0led_an", "p1led_an", "p2led_an", "p3led_an", + "p4led_an", "wled_kn", "p0led_kn", "p1led_kn", + "p2led_kn", "p3led_kn", "p4led_kn"; + function = "gpio"; + }; + + wlan { + groups = "wled_an"; + function = "wled_an"; + }; +}; diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk index 867c0e377b..71f09f816f 100644 --- a/target/linux/ramips/image/mt76x8.mk +++ b/target/linux/ramips/image/mt76x8.mk @@ -1136,6 +1136,13 @@ define Device/xiaomi_mi-ra75 endef TARGET_DEVICES += xiaomi_mi-ra75 +define Device/yuncore_m300 + IMAGE_SIZE := 7872k + DEVICE_VENDOR := Yuncore + DEVICE_MODEL := M300 +endef +TARGET_DEVICES += yuncore_m300 + define Device/zbtlink_zbt-we1226 IMAGE_SIZE := 7872k DEVICE_VENDOR := Zbtlink diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds index a42c9fe640..5a93761780 100644 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds @@ -18,7 +18,8 @@ asus,rt-n11p-b1|\ asus,rt-n12-vp-b1|\ netgear,r6020|\ netgear,r6080|\ -netgear,r6120) +netgear,r6120|\ +yuncore,m300) ucidef_set_led_switch "lan" "lan" "green:lan" "switch0" "0xf" ucidef_set_led_switch "wan" "wan" "green:wan" "switch0" "0x10" ;; diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network index e5326dfe79..2989d36e9b 100644 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network @@ -81,7 +81,8 @@ ramips_setup_interfaces() buffalo,wcr-1166ds|\ elecom,wrc-1167fs|\ wavlink,wl-wn577a2|\ - wavlink,wl-wn578a2) + wavlink,wl-wn578a2|\ + yuncore,m300) ucidef_add_switch "switch0" \ "3:lan" "4:wan" "6@eth0" ;; diff --git a/target/linux/ramips/mt76x8/config-6.6 b/target/linux/ramips/mt76x8/config-6.6 index a2d7bc9866..b9dc8525df 100644 --- a/target/linux/ramips/mt76x8/config-6.6 +++ b/target/linux/ramips/mt76x8/config-6.6 @@ -84,6 +84,8 @@ CONFIG_GPIO_CDEV=y CONFIG_GPIO_GENERIC=y CONFIG_GPIO_MT7621=y # CONFIG_GPIO_RALINK is not set +CONFIG_GPIO_WATCHDOG=y +# CONFIG_GPIO_WATCHDOG_ARCH_INITCALL is not set CONFIG_HARDWARE_WATCHPOINTS=y CONFIG_HAS_DMA=y CONFIG_HAS_IOMEM=y From 79fce424046fed521026df7c7f838441fb46add8 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 15 Aug 2024 19:06:05 +0200 Subject: [PATCH 02/12] kernel: backport upstream GSO improvements Fixes some corner cases regarding segmenting packets that were assembled by GRO. Signed-off-by: Felix Fietkau --- ...ansmit-from-devices-with-no-checksum.patch | 94 +++++++++++++++++++ ...-net-Make-USO-depend-on-CSUM-offload.patch | 69 ++++++++++++++ ...-software-USO-if-IPv6-extension-head.patch | 86 +++++++++++++++++ ...680-net-add-TCP-fraglist-GRO-support.patch | 2 +- 4 files changed, 250 insertions(+), 1 deletion(-) create mode 100644 target/linux/generic/backport-6.6/611-01-v6.11-udp-Allow-GSO-transmit-from-devices-with-no-checksum.patch create mode 100644 target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch create mode 100644 target/linux/generic/backport-6.6/611-03-v6.11-udp-Fall-back-to-software-USO-if-IPv6-extension-head.patch diff --git a/target/linux/generic/backport-6.6/611-01-v6.11-udp-Allow-GSO-transmit-from-devices-with-no-checksum.patch b/target/linux/generic/backport-6.6/611-01-v6.11-udp-Allow-GSO-transmit-from-devices-with-no-checksum.patch new file mode 100644 index 0000000000..21f18f92b8 --- /dev/null +++ b/target/linux/generic/backport-6.6/611-01-v6.11-udp-Allow-GSO-transmit-from-devices-with-no-checksum.patch @@ -0,0 +1,94 @@ +From: Jakub Sitnicki +Date: Wed, 26 Jun 2024 19:51:26 +0200 +Subject: [PATCH] udp: Allow GSO transmit from devices with no checksum offload + +Today sending a UDP GSO packet from a TUN device results in an EIO error: + + import fcntl, os, struct + from socket import * + + TUNSETIFF = 0x400454CA + IFF_TUN = 0x0001 + IFF_NO_PI = 0x1000 + UDP_SEGMENT = 103 + + tun_fd = os.open("/dev/net/tun", os.O_RDWR) + ifr = struct.pack("16sH", b"tun0", IFF_TUN | IFF_NO_PI) + fcntl.ioctl(tun_fd, TUNSETIFF, ifr) + + os.system("ip addr add 192.0.2.1/24 dev tun0") + os.system("ip link set dev tun0 up") + + s = socket(AF_INET, SOCK_DGRAM) + s.setsockopt(SOL_UDP, UDP_SEGMENT, 1200) + s.sendto(b"x" * 3000, ("192.0.2.2", 9)) # EIO + +This is due to a check in the udp stack if the egress device offers +checksum offload. While TUN/TAP devices, by default, don't advertise this +capability because it requires support from the TUN/TAP reader. + +However, the GSO stack has a software fallback for checksum calculation, +which we can use. This way we don't force UDP_SEGMENT users to handle the +EIO error and implement a segmentation fallback. + +Lift the restriction so that UDP_SEGMENT can be used with any egress +device. We also need to adjust the UDP GSO code to match the GSO stack +expectation about ip_summed field, as set in commit 8d63bee643f1 ("net: +avoid skb_warn_bad_offload false positives on UFO"). Otherwise we will hit +the bad offload check. + +Users should, however, expect a potential performance impact when +batch-sending packets with UDP_SEGMENT without checksum offload on the +egress device. In such case the packet payload is read twice: first during +the sendmsg syscall when copying data from user memory, and then in the GSO +stack for checksum computation. This double memory read can be less +efficient than a regular sendmsg where the checksum is calculated during +the initial data copy from user memory. + +Signed-off-by: Jakub Sitnicki +Reviewed-by: Willem de Bruijn +Link: https://patch.msgid.link/20240626-linux-udpgso-v2-1-422dfcbd6b48@cloudflare.com +Signed-off-by: Jakub Kicinski +--- + +--- a/net/ipv4/udp.c ++++ b/net/ipv4/udp.c +@@ -942,8 +942,7 @@ static int udp_send_skb(struct sk_buff * + kfree_skb(skb); + return -EINVAL; + } +- if (skb->ip_summed != CHECKSUM_PARTIAL || is_udplite || +- dst_xfrm(skb_dst(skb))) { ++ if (is_udplite || dst_xfrm(skb_dst(skb))) { + kfree_skb(skb); + return -EIO; + } +--- a/net/ipv4/udp_offload.c ++++ b/net/ipv4/udp_offload.c +@@ -357,6 +357,14 @@ struct sk_buff *__udp_gso_segment(struct + else + uh->check = gso_make_checksum(seg, ~check) ? : CSUM_MANGLED_0; + ++ /* On the TX path, CHECKSUM_NONE and CHECKSUM_UNNECESSARY have the same ++ * meaning. However, check for bad offloads in the GSO stack expects the ++ * latter, if the checksum was calculated in software. To vouch for the ++ * segment skbs we actually need to set it on the gso_skb. ++ */ ++ if (gso_skb->ip_summed == CHECKSUM_NONE) ++ gso_skb->ip_summed = CHECKSUM_UNNECESSARY; ++ + /* update refcount for the packet */ + if (copy_dtor) { + int delta = sum_truesize - gso_skb->truesize; +--- a/net/ipv6/udp.c ++++ b/net/ipv6/udp.c +@@ -1261,8 +1261,7 @@ static int udp_v6_send_skb(struct sk_buf + kfree_skb(skb); + return -EINVAL; + } +- if (skb->ip_summed != CHECKSUM_PARTIAL || is_udplite || +- dst_xfrm(skb_dst(skb))) { ++ if (is_udplite || dst_xfrm(skb_dst(skb))) { + kfree_skb(skb); + return -EIO; + } diff --git a/target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch b/target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch new file mode 100644 index 0000000000..8eecb06304 --- /dev/null +++ b/target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch @@ -0,0 +1,69 @@ +From: Jakub Sitnicki +Date: Thu, 8 Aug 2024 11:56:21 +0200 +Subject: [PATCH] net: Make USO depend on CSUM offload + +UDP segmentation offload inherently depends on checksum offload. It should +not be possible to disable checksum offload while leaving USO enabled. +Enforce this dependency in code. + +There is a single tx-udp-segmentation feature flag to indicate support for +both IPv4/6, hence the devices wishing to support USO must offer checksum +offload for both IP versions. + +Fixes: 10154dbded6d ("udp: Allow GSO transmit from devices with no checksum offload") +Suggested-by: Willem de Bruijn +Signed-off-by: Jakub Sitnicki +Reviewed-by: Willem de Bruijn +Link: https://patch.msgid.link/20240808-udp-gso-egress-from-tunnel-v4-1-f5c5b4149ab9@cloudflare.com +Signed-off-by: Jakub Kicinski +--- + +--- a/net/core/dev.c ++++ b/net/core/dev.c +@@ -9751,6 +9751,15 @@ static void netdev_sync_lower_features(s + } + } + ++static bool netdev_has_ip_or_hw_csum(netdev_features_t features) ++{ ++ netdev_features_t ip_csum_mask = NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM; ++ bool ip_csum = (features & ip_csum_mask) == ip_csum_mask; ++ bool hw_csum = features & NETIF_F_HW_CSUM; ++ ++ return ip_csum || hw_csum; ++} ++ + static netdev_features_t netdev_fix_features(struct net_device *dev, + netdev_features_t features) + { +@@ -9832,15 +9841,9 @@ static netdev_features_t netdev_fix_feat + features &= ~NETIF_F_LRO; + } + +- if (features & NETIF_F_HW_TLS_TX) { +- bool ip_csum = (features & (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM)) == +- (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM); +- bool hw_csum = features & NETIF_F_HW_CSUM; +- +- if (!ip_csum && !hw_csum) { +- netdev_dbg(dev, "Dropping TLS TX HW offload feature since no CSUM feature.\n"); +- features &= ~NETIF_F_HW_TLS_TX; +- } ++ if ((features & NETIF_F_HW_TLS_TX) && !netdev_has_ip_or_hw_csum(features)) { ++ netdev_dbg(dev, "Dropping TLS TX HW offload feature since no CSUM feature.\n"); ++ features &= ~NETIF_F_HW_TLS_TX; + } + + if ((features & NETIF_F_HW_TLS_RX) && !(features & NETIF_F_RXCSUM)) { +@@ -9848,6 +9851,11 @@ static netdev_features_t netdev_fix_feat + features &= ~NETIF_F_HW_TLS_RX; + } + ++ if ((features & NETIF_F_GSO_UDP_L4) && !netdev_has_ip_or_hw_csum(features)) { ++ netdev_dbg(dev, "Dropping USO feature since no CSUM feature.\n"); ++ features &= ~NETIF_F_GSO_UDP_L4; ++ } ++ + return features; + } + diff --git a/target/linux/generic/backport-6.6/611-03-v6.11-udp-Fall-back-to-software-USO-if-IPv6-extension-head.patch b/target/linux/generic/backport-6.6/611-03-v6.11-udp-Fall-back-to-software-USO-if-IPv6-extension-head.patch new file mode 100644 index 0000000000..151e2562db --- /dev/null +++ b/target/linux/generic/backport-6.6/611-03-v6.11-udp-Fall-back-to-software-USO-if-IPv6-extension-head.patch @@ -0,0 +1,86 @@ +From: Jakub Sitnicki +Date: Thu, 8 Aug 2024 11:56:22 +0200 +Subject: [PATCH] udp: Fall back to software USO if IPv6 extension headers are + present + +In commit 10154dbded6d ("udp: Allow GSO transmit from devices with no +checksum offload") we have intentionally allowed UDP GSO packets marked +CHECKSUM_NONE to pass to the GSO stack, so that they can be segmented and +checksummed by a software fallback when the egress device lacks these +features. + +What was not taken into consideration is that a CHECKSUM_NONE skb can be +handed over to the GSO stack also when the egress device advertises the +tx-udp-segmentation / NETIF_F_GSO_UDP_L4 feature. + +This will happen when there are IPv6 extension headers present, which we +check for in __ip6_append_data(). Syzbot has discovered this scenario, +producing a warning as below: + + ip6tnl0: caps=(0x00000006401d7869, 0x00000006401d7869) + WARNING: CPU: 0 PID: 5112 at net/core/dev.c:3293 skb_warn_bad_offload+0x166/0x1a0 net/core/dev.c:3291 + Modules linked in: + CPU: 0 PID: 5112 Comm: syz-executor391 Not tainted 6.10.0-rc7-syzkaller-01603-g80ab5445da62 #0 + Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024 + RIP: 0010:skb_warn_bad_offload+0x166/0x1a0 net/core/dev.c:3291 + [...] + Call Trace: + + __skb_gso_segment+0x3be/0x4c0 net/core/gso.c:127 + skb_gso_segment include/net/gso.h:83 [inline] + validate_xmit_skb+0x585/0x1120 net/core/dev.c:3661 + __dev_queue_xmit+0x17a4/0x3e90 net/core/dev.c:4415 + neigh_output include/net/neighbour.h:542 [inline] + ip6_finish_output2+0xffa/0x1680 net/ipv6/ip6_output.c:137 + ip6_finish_output+0x41e/0x810 net/ipv6/ip6_output.c:222 + ip6_send_skb+0x112/0x230 net/ipv6/ip6_output.c:1958 + udp_v6_send_skb+0xbf5/0x1870 net/ipv6/udp.c:1292 + udpv6_sendmsg+0x23b3/0x3270 net/ipv6/udp.c:1588 + sock_sendmsg_nosec net/socket.c:730 [inline] + __sock_sendmsg+0xef/0x270 net/socket.c:745 + ____sys_sendmsg+0x525/0x7d0 net/socket.c:2585 + ___sys_sendmsg net/socket.c:2639 [inline] + __sys_sendmmsg+0x3b2/0x740 net/socket.c:2725 + __do_sys_sendmmsg net/socket.c:2754 [inline] + __se_sys_sendmmsg net/socket.c:2751 [inline] + __x64_sys_sendmmsg+0xa0/0xb0 net/socket.c:2751 + do_syscall_x64 arch/x86/entry/common.c:52 [inline] + do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 + entry_SYSCALL_64_after_hwframe+0x77/0x7f + [...] + + +We are hitting the bad offload warning because when an egress device is +capable of handling segmentation offload requested by +skb_shinfo(skb)->gso_type, the chain of gso_segment callbacks won't produce +any segment skbs and return NULL. See the skb_gso_ok() branch in +{__udp,tcp,sctp}_gso_segment helpers. + +To fix it, force a fallback to software USO when processing a packet with +IPv6 extension headers, since we don't know if these can checksummed by +all devices which offer USO. + +Fixes: 10154dbded6d ("udp: Allow GSO transmit from devices with no checksum offload") +Reported-by: syzbot+e15b7e15b8a751a91d9a@syzkaller.appspotmail.com +Closes: https://lore.kernel.org/all/000000000000e1609a061d5330ce@google.com/ +Reviewed-by: Willem de Bruijn +Signed-off-by: Jakub Sitnicki +Link: https://patch.msgid.link/20240808-udp-gso-egress-from-tunnel-v4-2-f5c5b4149ab9@cloudflare.com +Signed-off-by: Jakub Kicinski +--- + +--- a/net/ipv4/udp_offload.c ++++ b/net/ipv4/udp_offload.c +@@ -278,6 +278,12 @@ struct sk_buff *__udp_gso_segment(struct + if (gso_skb->len <= sizeof(*uh) + mss) + return ERR_PTR(-EINVAL); + ++ /* We don't know if egress device can segment and checksum the packet ++ * when IPv6 extension headers are present. Fall back to software GSO. ++ */ ++ if (gso_skb->ip_summed != CHECKSUM_PARTIAL) ++ features &= ~(NETIF_F_GSO_UDP_L4 | NETIF_F_CSUM_MASK); ++ + if (skb_gso_ok(gso_skb, features | NETIF_F_GSO_ROBUST)) { + /* Packet is from an untrusted source, reset gso_segs. */ + skb_shinfo(gso_skb)->gso_segs = DIV_ROUND_UP(gso_skb->len - sizeof(*uh), diff --git a/target/linux/generic/pending-6.6/680-net-add-TCP-fraglist-GRO-support.patch b/target/linux/generic/pending-6.6/680-net-add-TCP-fraglist-GRO-support.patch index 6ce095cc10..8042656397 100644 --- a/target/linux/generic/pending-6.6/680-net-add-TCP-fraglist-GRO-support.patch +++ b/target/linux/generic/pending-6.6/680-net-add-TCP-fraglist-GRO-support.patch @@ -379,7 +379,7 @@ Signe-off-by: Felix Fietkau skb_shinfo(skb)->gso_type |= SKB_GSO_TCPV4; --- a/net/ipv4/udp_offload.c +++ b/net/ipv4/udp_offload.c -@@ -433,33 +433,6 @@ out: +@@ -447,33 +447,6 @@ out: return segs; } From 17f07040e7808a0c9cba2afc0e0b22e5589da133 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 15 Aug 2024 21:25:33 +0200 Subject: [PATCH 03/12] kernel: prevent tunnel drivers from mangling fraglist GSO packets Fixes crashes on segmenting packets, mainly when dereferencing a no longer existing fragment chain. Signed-off-by: Felix Fietkau --- ...0-net-enable-fraglist-GRO-by-default.patch | 2 +- ..._F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch | 129 ++++++++++++++++++ 2 files changed, 130 insertions(+), 1 deletion(-) create mode 100644 target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch diff --git a/target/linux/generic/hack-6.6/600-net-enable-fraglist-GRO-by-default.patch b/target/linux/generic/hack-6.6/600-net-enable-fraglist-GRO-by-default.patch index 51f990039c..9633525bc4 100644 --- a/target/linux/generic/hack-6.6/600-net-enable-fraglist-GRO-by-default.patch +++ b/target/linux/generic/hack-6.6/600-net-enable-fraglist-GRO-by-default.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/netdev_features.h +++ b/include/linux/netdev_features.h -@@ -242,10 +242,10 @@ static inline int find_next_netdev_featu +@@ -243,10 +243,10 @@ static inline int find_next_netdev_featu #define NETIF_F_UPPER_DISABLES NETIF_F_LRO /* changeable features with no special hardware requirements */ diff --git a/target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch b/target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch new file mode 100644 index 0000000000..85d2ac21b1 --- /dev/null +++ b/target/linux/generic/pending-6.6/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch @@ -0,0 +1,129 @@ +From: Felix Fietkau +Date: Thu, 15 Aug 2024 21:15:13 +0200 +Subject: [PATCH] net: remove NETIF_F_GSO_FRAGLIST from NETIF_F_GSO_SOFTWARE + +Several drivers set NETIF_F_GSO_SOFTWARE, but mangle fraglist GRO packets +in a way that they can't be properly segmented anymore. +In order to properly deal with this, remove fraglist GSO from +NETIF_F_GSO_SOFTWARE and switch to NETIF_F_GSO_SOFTWARE_ALL (which includes +fraglist GSO) in places where it's safe to add. + +Signed-off-by: Felix Fietkau +--- + +--- a/drivers/net/dummy.c ++++ b/drivers/net/dummy.c +@@ -118,7 +118,7 @@ static void dummy_setup(struct net_devic + dev->flags &= ~IFF_MULTICAST; + dev->priv_flags |= IFF_LIVE_ADDR_CHANGE | IFF_NO_QUEUE; + dev->features |= NETIF_F_SG | NETIF_F_FRAGLIST; +- dev->features |= NETIF_F_GSO_SOFTWARE; ++ dev->features |= NETIF_F_GSO_SOFTWARE_ALL; + dev->features |= NETIF_F_HW_CSUM | NETIF_F_HIGHDMA | NETIF_F_LLTX; + dev->features |= NETIF_F_GSO_ENCAP_ALL; + dev->hw_features |= dev->features; +--- a/drivers/net/loopback.c ++++ b/drivers/net/loopback.c +@@ -176,7 +176,7 @@ static void gen_lo_setup(struct net_devi + dev->flags = IFF_LOOPBACK; + dev->priv_flags |= IFF_LIVE_ADDR_CHANGE | IFF_NO_QUEUE; + netif_keep_dst(dev); +- dev->hw_features = NETIF_F_GSO_SOFTWARE; ++ dev->hw_features = NETIF_F_GSO_SOFTWARE_ALL; + dev->features = NETIF_F_SG | NETIF_F_FRAGLIST + | NETIF_F_GSO_SOFTWARE + | NETIF_F_HW_CSUM +--- a/drivers/net/macvlan.c ++++ b/drivers/net/macvlan.c +@@ -896,7 +896,7 @@ static int macvlan_hwtstamp_set(struct n + static struct lock_class_key macvlan_netdev_addr_lock_key; + + #define ALWAYS_ON_OFFLOADS \ +- (NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_GSO_SOFTWARE | \ ++ (NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_GSO_SOFTWARE_ALL | \ + NETIF_F_GSO_ROBUST | NETIF_F_GSO_ENCAP_ALL) + + #define ALWAYS_ON_FEATURES (ALWAYS_ON_OFFLOADS | NETIF_F_LLTX) +--- a/include/linux/netdev_features.h ++++ b/include/linux/netdev_features.h +@@ -219,13 +219,14 @@ static inline int find_next_netdev_featu + + /* List of features with software fallbacks. */ + #define NETIF_F_GSO_SOFTWARE (NETIF_F_ALL_TSO | NETIF_F_GSO_SCTP | \ +- NETIF_F_GSO_UDP_L4 | NETIF_F_GSO_FRAGLIST) ++ NETIF_F_GSO_UDP_L4) ++#define NETIF_F_GSO_SOFTWARE_ALL (NETIF_F_GSO_SOFTWARE | NETIF_F_GSO_FRAGLIST) + + /* + * If one device supports one of these features, then enable them + * for all in netdev_increment_features. + */ +-#define NETIF_F_ONE_FOR_ALL (NETIF_F_GSO_SOFTWARE | NETIF_F_GSO_ROBUST | \ ++#define NETIF_F_ONE_FOR_ALL (NETIF_F_GSO_SOFTWARE_ALL | NETIF_F_GSO_ROBUST | \ + NETIF_F_SG | NETIF_F_HIGHDMA | \ + NETIF_F_FRAGLIST | NETIF_F_VLAN_CHALLENGED) + +--- a/net/8021q/vlan.h ++++ b/net/8021q/vlan.h +@@ -108,7 +108,7 @@ static inline netdev_features_t vlan_tnl + netdev_features_t ret; + + ret = real_dev->hw_enc_features & +- (NETIF_F_CSUM_MASK | NETIF_F_GSO_SOFTWARE | ++ (NETIF_F_CSUM_MASK | NETIF_F_GSO_SOFTWARE_ALL | + NETIF_F_GSO_ENCAP_ALL); + + if ((ret & NETIF_F_GSO_ENCAP_ALL) && (ret & NETIF_F_CSUM_MASK)) +--- a/net/8021q/vlan_dev.c ++++ b/net/8021q/vlan_dev.c +@@ -583,7 +583,7 @@ static int vlan_dev_init(struct net_devi + dev->state |= (1 << __LINK_STATE_NOCARRIER); + + dev->hw_features = NETIF_F_HW_CSUM | NETIF_F_SG | +- NETIF_F_FRAGLIST | NETIF_F_GSO_SOFTWARE | ++ NETIF_F_FRAGLIST | NETIF_F_GSO_SOFTWARE_ALL | + NETIF_F_GSO_ENCAP_ALL | + NETIF_F_HIGHDMA | NETIF_F_SCTP_CRC | + NETIF_F_ALL_FCOE; +@@ -676,7 +676,7 @@ static netdev_features_t vlan_dev_fix_fe + if (lower_features & (NETIF_F_IP_CSUM|NETIF_F_IPV6_CSUM)) + lower_features |= NETIF_F_HW_CSUM; + features = netdev_intersect_features(features, lower_features); +- features |= old_features & (NETIF_F_SOFT_FEATURES | NETIF_F_GSO_SOFTWARE); ++ features |= old_features & (NETIF_F_SOFT_FEATURES | NETIF_F_GSO_SOFTWARE_ALL); + features |= NETIF_F_LLTX; + + return features; +--- a/net/core/sock.c ++++ b/net/core/sock.c +@@ -2449,7 +2449,7 @@ void sk_setup_caps(struct sock *sk, stru + if (sk_is_tcp(sk)) + sk->sk_route_caps |= NETIF_F_GSO; + if (sk->sk_route_caps & NETIF_F_GSO) +- sk->sk_route_caps |= NETIF_F_GSO_SOFTWARE; ++ sk->sk_route_caps |= NETIF_F_GSO_SOFTWARE_ALL; + if (unlikely(sk->sk_gso_disabled)) + sk->sk_route_caps &= ~NETIF_F_GSO_MASK; + if (sk_can_gso(sk)) { +--- a/net/mac80211/ieee80211_i.h ++++ b/net/mac80211/ieee80211_i.h +@@ -1996,7 +1996,7 @@ void ieee80211_color_collision_detection + /* interface handling */ + #define MAC80211_SUPPORTED_FEATURES_TX (NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | \ + NETIF_F_HW_CSUM | NETIF_F_SG | \ +- NETIF_F_HIGHDMA | NETIF_F_GSO_SOFTWARE | \ ++ NETIF_F_HIGHDMA | NETIF_F_GSO_SOFTWARE_ALL | \ + NETIF_F_HW_TC) + #define MAC80211_SUPPORTED_FEATURES_RX (NETIF_F_RXCSUM) + #define MAC80211_SUPPORTED_FEATURES (MAC80211_SUPPORTED_FEATURES_TX | \ +--- a/net/openvswitch/vport-internal_dev.c ++++ b/net/openvswitch/vport-internal_dev.c +@@ -110,7 +110,7 @@ static void do_setup(struct net_device * + + netdev->features = NETIF_F_LLTX | NETIF_F_SG | NETIF_F_FRAGLIST | + NETIF_F_HIGHDMA | NETIF_F_HW_CSUM | +- NETIF_F_GSO_SOFTWARE | NETIF_F_GSO_ENCAP_ALL; ++ NETIF_F_GSO_SOFTWARE_ALL | NETIF_F_GSO_ENCAP_ALL; + + netdev->vlan_features = netdev->features; + netdev->hw_enc_features = netdev->features; From 9cf6ce5179e2c839e8b5af7d95e500f7d188d9c4 Mon Sep 17 00:00:00 2001 From: Chuanhong Guo Date: Thu, 15 Aug 2024 15:34:24 +0800 Subject: [PATCH 04/12] toolchain: binutils: add support for 2.43 Drop two backported patches, and autorefresh the rest. Release notes: https://lists.gnu.org/archive/html/info-gnu/2024-08/msg00001.html Link: https://github.com/openwrt/openwrt/pull/16175 Signed-off-by: Chuanhong Guo --- toolchain/binutils/Config.in | 4 ++ toolchain/binutils/Config.version | 4 ++ toolchain/binutils/Makefile | 4 ++ .../2.43/300-001_ld_makefile_patch.patch | 22 +++++++++ .../400-mips_no_dynamic_linking_sym.patch | 18 +++++++ ...e-default-emulation-for-mips64-linux.patch | 48 +++++++++++++++++++ 6 files changed, 100 insertions(+) create mode 100644 toolchain/binutils/patches/2.43/300-001_ld_makefile_patch.patch create mode 100644 toolchain/binutils/patches/2.43/400-mips_no_dynamic_linking_sym.patch create mode 100644 toolchain/binutils/patches/2.43/500-Change-default-emulation-for-mips64-linux.patch diff --git a/toolchain/binutils/Config.in b/toolchain/binutils/Config.in index caa9bcde8b..3e3a2b5509 100644 --- a/toolchain/binutils/Config.in +++ b/toolchain/binutils/Config.in @@ -29,6 +29,10 @@ choice config BINUTILS_USE_VERSION_2_42 bool "Binutils 2.42" select BINUTILS_VERSION_2_42 + + config BINUTILS_USE_VERSION_2_43 + bool "Binutils 2.43" + select BINUTILS_VERSION_2_43 endchoice config EXTRA_BINUTILS_CONFIG_OPTIONS diff --git a/toolchain/binutils/Config.version b/toolchain/binutils/Config.version index 81815ebed2..b2bf7f7d00 100644 --- a/toolchain/binutils/Config.version +++ b/toolchain/binutils/Config.version @@ -18,6 +18,9 @@ config BINUTILS_VERSION_2_42 default y if !TOOLCHAINOPTS bool +config BINUTILS_VERSION_2_43 + bool + config BINUTILS_VERSION string default "2.37" if BINUTILS_VERSION_2_37 @@ -26,3 +29,4 @@ config BINUTILS_VERSION default "2.40" if BINUTILS_VERSION_2_40 default "2.41" if BINUTILS_VERSION_2_41 default "2.42" if BINUTILS_VERSION_2_42 + default "2.43" if BINUTILS_VERSION_2_43 diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile index 8635e9710a..1db64d058c 100644 --- a/toolchain/binutils/Makefile +++ b/toolchain/binutils/Makefile @@ -40,6 +40,10 @@ ifeq ($(PKG_VERSION),2.42) PKG_HASH:=f6e4d41fd5fc778b06b7891457b3620da5ecea1006c6a4a41ae998109f85a800 endif +ifeq ($(PKG_VERSION),2.43) + PKG_HASH:=b53606f443ac8f01d1d5fc9c39497f2af322d99e14cea5c0b4b124d630379365 +endif + HOST_BUILD_PARALLEL:=1 PATCH_DIR:=./patches/$(PKG_VERSION) diff --git a/toolchain/binutils/patches/2.43/300-001_ld_makefile_patch.patch b/toolchain/binutils/patches/2.43/300-001_ld_makefile_patch.patch new file mode 100644 index 0000000000..64dae55dd7 --- /dev/null +++ b/toolchain/binutils/patches/2.43/300-001_ld_makefile_patch.patch @@ -0,0 +1,22 @@ +--- a/ld/Makefile.am ++++ b/ld/Makefile.am +@@ -50,7 +50,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CFLAGS) + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + + EMUL = @EMUL@ + EMULATION_OFILES = @EMULATION_OFILES@ +--- a/ld/Makefile.in ++++ b/ld/Makefile.in +@@ -583,7 +583,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CFLAGS) + # We put the scripts in the directory $(scriptdir)/ldscripts. + # We can't put the scripts in $(datadir) because the SEARCH_DIR + # directives need to be different for native and cross linkers. +-scriptdir = $(tooldir)/lib ++scriptdir = $(libdir) + BASEDIR = $(srcdir)/.. + BFDDIR = $(BASEDIR)/bfd + INCDIR = $(BASEDIR)/include diff --git a/toolchain/binutils/patches/2.43/400-mips_no_dynamic_linking_sym.patch b/toolchain/binutils/patches/2.43/400-mips_no_dynamic_linking_sym.patch new file mode 100644 index 0000000000..d0cc7ddc69 --- /dev/null +++ b/toolchain/binutils/patches/2.43/400-mips_no_dynamic_linking_sym.patch @@ -0,0 +1,18 @@ +--- a/bfd/elfxx-mips.c ++++ b/bfd/elfxx-mips.c +@@ -8161,6 +8161,7 @@ _bfd_mips_elf_create_dynamic_sections (b + + name = SGI_COMPAT (abfd) ? "_DYNAMIC_LINK" : "_DYNAMIC_LINKING"; + bh = NULL; ++ if (0) { + if (!(_bfd_generic_link_add_one_symbol + (info, abfd, name, BSF_GLOBAL, bfd_abs_section_ptr, 0, + NULL, false, get_elf_backend_data (abfd)->collect, &bh))) +@@ -8173,6 +8174,7 @@ _bfd_mips_elf_create_dynamic_sections (b + + if (! bfd_elf_link_record_dynamic_symbol (info, h)) + return false; ++ } + + if (! mips_elf_hash_table (info)->use_rld_obj_head) + { diff --git a/toolchain/binutils/patches/2.43/500-Change-default-emulation-for-mips64-linux.patch b/toolchain/binutils/patches/2.43/500-Change-default-emulation-for-mips64-linux.patch new file mode 100644 index 0000000000..df38fcaba1 --- /dev/null +++ b/toolchain/binutils/patches/2.43/500-Change-default-emulation-for-mips64-linux.patch @@ -0,0 +1,48 @@ +--- a/bfd/config.bfd ++++ b/bfd/config.bfd +@@ -962,8 +962,8 @@ case "${targ}" in + want64=true + ;; + mips64*el-*-linux*) +- targ_defvec=mips_elf32_ntrad_le_vec +- targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec" ++ targ_defvec=mips_elf64_trad_le_vec ++ targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_be_vec" + ;; + mips64*-*-linux*-gnuabi64) + targ_defvec=mips_elf64_trad_be_vec +@@ -971,8 +971,8 @@ case "${targ}" in + want64=true + ;; + mips64*-*-linux*) +- targ_defvec=mips_elf32_ntrad_be_vec +- targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec" ++ targ_defvec=mips_elf64_trad_be_vec ++ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec" + ;; + mips*el-*-linux*) + targ_defvec=mips_elf32_trad_le_vec +--- a/ld/configure.tgt ++++ b/ld/configure.tgt +@@ -597,8 +597,8 @@ mips64*el-*-linux-gnuabi64) + targ_extra_emuls="elf64btsmip elf32ltsmipn32 elf32btsmipn32 elf32ltsmip elf32btsmip" + targ_extra_libpath=$targ_extra_emuls + ;; +-mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 +- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" ++mips64*el-*-linux-*) targ_emul=elf64ltsmip ++ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32ltsmip elf32btsmip elf64btsmip" + targ_extra_libpath=$targ_extra_emuls + ;; + mips64*-*-linux-gnuabi64) +@@ -606,8 +606,8 @@ mips64*-*-linux-gnuabi64) + targ_extra_emuls="elf64ltsmip elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip" + targ_extra_libpath=$targ_extra_emuls + ;; +-mips64*-*-linux-*) targ_emul=elf32btsmipn32 +- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" ++mips64*-*-linux-*) targ_emul=elf64btsmip ++ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip" + targ_extra_libpath=$targ_extra_emuls + ;; + mips*el-*-linux-*) targ_emul=elf32ltsmip From 6347bf799adcba6e68bd6cdc85f1cb017039d67f Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Fri, 16 Aug 2024 04:43:57 +0100 Subject: [PATCH 05/12] arm-trusted-firmware-mediatek: only build bl2 for RAM boot images There is no need to build BL31 as anyway only the bl2 image is relevant for use with mtk_uartboot. Build only bl2 in this case. Signed-off-by: Daniel Golle --- package/boot/arm-trusted-firmware-mediatek/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/boot/arm-trusted-firmware-mediatek/Makefile b/package/boot/arm-trusted-firmware-mediatek/Makefile index 91be884757..d052967568 100644 --- a/package/boot/arm-trusted-firmware-mediatek/Makefile +++ b/package/boot/arm-trusted-firmware-mediatek/Makefile @@ -547,7 +547,7 @@ TFA_MAKE_FLAGS += \ $(if $(RAM_BOOT_UART_DL),RAM_BOOT_UART_DL=1) \ $(if $(USE_UBI),UBI=1 $(if $(findstring mt7622,$(PLAT)),OVERRIDE_UBI_START_ADDR=0x80000)) \ $(if $(USE_UBI),UBI=1 $(if $(findstring mt7981,$(PLAT)),OVERRIDE_UBI_START_ADDR=0x100000)) \ - all + $(if $(RAM_BOOT_UART_DL),bl2,all) define Package/trusted-firmware-a-ram/install $(INSTALL_DIR) $(STAGING_DIR_IMAGE) From 1591e2d4ccfd80da836017efb996b6a4ab59dba6 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Fri, 16 Aug 2024 04:43:14 +0100 Subject: [PATCH 06/12] arm-trusted-firmware-mediatek: build RAM boot images for MT7622 Build images for use with mtk_uartboot also for MT7622. Signed-off-by: Daniel Golle --- .../arm-trusted-firmware-mediatek/Makefile | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/package/boot/arm-trusted-firmware-mediatek/Makefile b/package/boot/arm-trusted-firmware-mediatek/Makefile index d052967568..3f70f33784 100644 --- a/package/boot/arm-trusted-firmware-mediatek/Makefile +++ b/package/boot/arm-trusted-firmware-mediatek/Makefile @@ -52,6 +52,27 @@ define Trusted-Firmware-A/mt7622-nor-2ddr DDR3_FLYBY:=1 endef +define Trusted-Firmware-A/mt7622-ram-1ddr + NAME:=MediaTek MT7622 (RAM, 1x DDR3) + BOOT_DEVICE:=ram + BUILD_SUBTARGET:=mt7622 + PLAT:=mt7622 + RAM_BOOT_UART_DL:=1 + HIDDEN:= + DEFAULT:=TARGET_mediatek_mt7622 +endef + +define Trusted-Firmware-A/mt7622-ram-2ddr + NAME:=MediaTek MT7622 (RAM, 2x DDR3) + BOOT_DEVICE:=ram + BUILD_SUBTARGET:=mt7622 + PLAT:=mt7622 + DDR3_FLYBY:=1 + RAM_BOOT_UART_DL:=1 + HIDDEN:= + DEFAULT:=TARGET_mediatek_mt7622 +endef + define Trusted-Firmware-A/mt7622-snand-1ddr NAME:=MediaTek MT7622 (SPI-NAND, 1x DDR3) BUILD_SUBTARGET:=mt7622 @@ -483,6 +504,8 @@ endef TFA_TARGETS:= \ mt7622-nor-1ddr \ mt7622-nor-2ddr \ + mt7622-ram-1ddr \ + mt7622-ram-2ddr \ mt7622-snand-1ddr \ mt7622-snand-ubi-1ddr \ mt7622-snand-2ddr \ @@ -553,6 +576,8 @@ define Package/trusted-firmware-a-ram/install $(INSTALL_DIR) $(STAGING_DIR_IMAGE) $(INSTALL_DATA) $(PKG_BUILD_DIR)/build/$(PLAT)/release/bl2.bin $(BIN_DIR)/$(BUILD_VARIANT)-bl2.bin endef +Package/trusted-firmware-a-mt7622-ram-1ddr/install = $(Package/trusted-firmware-a-ram/install) +Package/trusted-firmware-a-mt7622-ram-2ddr/install = $(Package/trusted-firmware-a-ram/install) Package/trusted-firmware-a-mt7981-ram-ddr3/install = $(Package/trusted-firmware-a-ram/install) Package/trusted-firmware-a-mt7981-ram-ddr4/install = $(Package/trusted-firmware-a-ram/install) Package/trusted-firmware-a-mt7986-ram-ddr3/install = $(Package/trusted-firmware-a-ram/install) From 20bf5f35e70bf2385a6aa9a49053c72e7fdb1896 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Fri, 16 Aug 2024 19:58:57 +0200 Subject: [PATCH 07/12] mt76: update to Git HEAD (2024-08-16) 58d187e4a97c wifi: mt76: mt792x: add struct mt792x_bss_conf eb278f9863be wifi: mt76: mt792x: add struct mt792x_link_sta 156bd77d3264 wifi: mt76: mt792x: add struct mt792x_chanctx 017001536f34 wifi: mt76: mt7925: support for split bss_info_changed method f6979f7bac2d wifi: mt76: mt792x: extend mt76_connac_mcu_uni_add_dev for per-link BSS a72414b0929b wifi: mt76: mt7925: extend mt7925_mcu_set_tx with for per-link BSS ccc741182b32 wifi: mt76: mt7925: extend mt7925_mcu_add_bss_info for per-link BSS a6072c1cb337 wifi: mt76: mt7925: extend mt7925_mcu_set_timing for per-link BSS 8bc843c9a1bc wifi: mt76: mt7925: extend mt7925_mcu_bss_ifs_tlv for per-link BSS 57770675f269 wifi: mt76: mt7925: extend mt7925_mcu_bss_color_tlv for per-link BSS 69cbc0f03c2e wifi: mt76: mt7925: extend mt7925_mcu_bss_he_tlv for per-link BSS 36712505c8c6 wifi: mt76: mt7925: extend mt7925_mcu_bss_qos_tlv for per-link BSS 5399d0439cc6 wifi: mt76: mt7925: extend mt7925_mcu_bss_mld_tlv for per-link BSS 92abc8b3efb4 wifi: mt76: mt7925: extend mt7925_mcu_bss_bmc_tlv for per-link BSS cca65ef81a47 wifi: mt76: mt7925: remove unused parameters in mt7925_mcu_bss_bmc_tlv 7a4997a2fc70 wifi: mt76: mt7925: extend mt7925_mcu_bss_sec_tlv for per-link BSS eafc690d3e00 wifi: mt76: mt7925: extend mt7925_mcu_bss_basic_tlv for per-link BSS a215af375b85 wifi: mt76: mt7925: extend mt7925_mcu_set_bss_pm for per-link BSS b310e0dd4245 wifi: mt76: mt7925: extend mt7925_mcu_[abort, set]_roc for per-link BSS b71940427ae7 wifi: mt76: mt7925: extend mt7925_mcu_uni_bss_bcnft for per-link BSS 4e2eadef7d59 wifi: mt76: mt7925: extend mt7925_mcu_uni_bss_ps for per-link BSS 0bec7c7124f7 wifi: mt76: mt7925: add mt7925_mcu_bss_rlm_tlv to constitue the RLM TLV 21d15e680a6d wifi: mt76: mt7925: mt7925_mcu_set_chctx rely on mt7925_mcu_bss_rlm_tlv 63e0bb14bd71 wifi: mt76: mt7925: extend mt7925_mcu_sta_update for per-link STA f5a819c97e71 wifi: mt76: mt7925: extend mt7925_mcu_sta_state_v2_tlv for per-link STA 737235764c4c wifi: mt76: mt7925: extend mt7925_mcu_sta_rate_ctrl_tlv with per-link STA a59201b4f003 wifi: mt76: mt7925: extend mt7925_mcu_sta_eht_tlv for per-link STA 25e12096e568 wifi: mt76: mt7925: extend mt7925_mcu_sta_he_6g_tlv for per-link STA 5e326a87bc46 wifi: mt76: mt7925: extend mt7925_mcu_sta_he_tlv for per-link STA 5c21555c6c79 wifi: mt76: mt7925: extend mt7925_mcu_sta_amsdu_tlv for per-link STA d5bb9a9e735c wifi: mt76: mt7925: extend mt7925_mcu_sta_vht_tlv for per-link STA a9e4e795652c wifi: mt76: mt7925: extend mt7925_mcu_sta_ht_tlv for per-link STA daccf349f24f wifi: mt76: mt7925: extend mt7925_mcu_sta_phy_tlv for per-link STA 454b8f332428 wifi: mt76: mt7925: extend mt7925_get_phy_mode_ext for per-link STA 54dad0c287a5 wifi: mt76: mt7925: extend mt7925_get_phy_mode for per-link STA c7248fea9557 wifi: mt76: mt792x: extend mt76_connac_get_phy_mode_v2 for per-link STA afe6c142b1ee wifi: mt76: mt762x: extend mt76_connac_mcu_sta_basic_tlv for per-link STA bb8bc43f3400 wifi: mt76: mt7925: extend mt7925_mcu_sta_hdr_trans_tlv for per-link STA 92262378ae20 wifi: mt76: mt7925: extend mt7925_mcu_add_bss_info for per-link STA 371667695674 wifi: mt76: mt7925: extend mt7925_mcu_bss_mld_tlv for per-link STA 990e9c62a7f2 wifi: mt76: mt7925: extend mt7925_mcu_bss_basic_tlv for per-link STA 070efb705591 wifi: mt76: mt7925: add mt7925_mac_link_sta_add to create per-link STA 90a7976363a7 wifi: mt76: mt7925: add mt7925_mac_link_sta_assoc to associate per-link STA 8695a2500bbd wifi: mt76: mt7925: add mt7925_mac_link_sta_remove to remove per-link STA ac251c6d65e1 wifi: mt76: mt7925: add mt7925_mac_link_bss_add to create per-link BSS f4f4e3238dc1 wifi: mt76: mt7925: add mt7925_mac_link_bss_remove to remove per-link BSS 64378d3a036e wifi: mt76: mt7925: simpify mt7925_mcu_sta_cmd logic by removing fw_offload 436e75a67e40 wifi: mt76: mt7925: update mt76_connac_mcu_uni_add_dev for MLO aa913a43f20c wifi: mt76: mt7925: update mt7925_mac_link_sta_[add, assoc, remove] for MLO 74d518be9812 wifi: mt76: mt7925: set Tx queue parameters according to link id 94e751a0f549 wifi: mt76: mt7925: set mt7925_mcu_sta_key_tlv according to link id 15054d71a61a wifi: mt76: mt7925: add mt7925_set_link_key 41e7149458ef wifi: mt76: mt7925: extend mt7925_mcu_uni_roc_event 56064fc172b7 wifi: mt76: mt7925: add mt7925_change_vif_links 74138b229be6 wifi: mt76: mt7925: add mt7925_change_sta_links 6f628298f9ae wifi: mt76: mt7925: add link handling in mt7925_mac_sta_add 79f3aaf2765a wifi: mt76: mt7925: add link handling in mt7925_mac_sta_remove 950578348506 wifi: mt76: mt7925: add link handling to txwi b6a07bce6000 wifi: mt76: mt7925: add link handling in mt7925_set_key f1a7ab0544ae wifi: mt76: mt7925: add link handling to mt7925_change_chanctx 14d2ae0cdf16 wifi: mt76: mt7925: add link handling in the BSS_CHANGED_PS handler f68bdb9b9d64 wifi: mt76: mt7925: add link handling in mt7925_mcu_set_beacon_filter 18ee40e548d1 wifi: mt76: mt7925: add link handling in mt7925_txwi_free 415503c237cf wifi: mt76: mt7925: add link handling in mt7925_mac_sta_assoc 6dfcb265aa97 wifi: mt76: mt7925: add link handling in mt7925_sta_set_decap_offload 18471bb0d671 wifi: mt76: mt7925: add link handling in mt7925_vif_connect_iter ac8ab0853432 wifi: mt76: mt7925: add link handling in the BSS_CHANGED_ARP_FILTER handler b14f7c02c79c wifi: mt76: mt7925: add link handling in the mt7925_ipv6_addr_change 6ebeb5f0150d wifi: mt76: mt7925: update rate index according to link id ebd522981ba6 wifi: mt76: mt7925: report link information in rx status 2304e6146cf9 wifi: mt76: add def_wcid to struct mt76_wcid 1fc2bab3f510 wifi: mt76: mt7925: add mt7925_[assign,unassign]_vif_chanctx 2a23c1e5fef2 wifi: mt76: mt7925: update mt7925_mcu_sta_mld_tlv for MLO 2a226b8c06f7 wifi: mt76: mt7925: update mt7925_mcu_bss_mld_tlv for MLO 45df65348e26 wifi: mt76: mt7925: update mt7925_mcu_add_bss_info for MLO 7eb17943de6b wifi: mt76: mt7925: update mt7925_mcu_sta_update for MLO d2b28297551e wifi: mt76: mt7925: add mt7925_mcu_sta_eht_mld_tlv for MLO e385735a67a1 wifi: mt76: mt7925: update mt7925_mcu_sta_rate_ctrl_tlv for MLO aedb640a90ad wifi: mt76: mt7925: update mt7925_mcu_sta_phy_tlv for MLO 6a3af6e618e4 wifi: mt76: mt7925: update mt7925_mcu_set_timing for MLO 783bb8314585 wifi: mt76: mt7925: update mt7925_mcu_bss_basic_tlv for MLO 17f5ef8058ef wifi: mt76: mt7925: update mt7925_mac_link_bss_add for MLO 94fe68018774 wifi: mt76: mt7925: remove the unused mt7925_mcu_set_chan_info e0b4763428eb wifi: mt76: mt7925: enabling MLO when the firmware supports it 3a367258d9d6 wifi: mt76: mt792x: fix scheduler interference in drv own process b6fd8fe5d260 wifi: mt76: mt7996: Use DECLARE_FLEX_ARRAY() and fix -Warray-bounds warnings e25fb9a010f9 wifi: mt76: mt7921: add missing bss_conf vif init 6585a4353a51 wifi: mt76: mt7921: fix crash on ipv6 addr notification during vif bringup fdba7f408873 wifi: mt76: fix mt76_get_rate c13032ba4721 wifi: mt76: mt7915: always query station rx rate from firmware d5286f465f83 wifi: mt76: connac: add support for IEEE 802.11 fragmentation c4c66f6b119d wifi: mt76: mt7915: add dummy HW offload of IEEE 802.11 fragmentation b4da028f990a wifi: mt76: mt7915: fix rx filter setting for bfee functionality 6ccafa50c647 firmware: update firmware for MT7915 to 20240429200502 b80c997b3ff6 wifi: mt76: partially move channel change code to core 891031ee051d wifi: mt76: add separate tx scheduling queue for off-channel tx 4eea0786d83f wifi: mt76: mt7915: disable tx worker during tx BA session enable/disable e0a409af5526 wifi: mt76: mt7915: allocate vif wcid in the same range as stations 1305484d044a wifi: mt76: connac: add support for passing connection state directly ea8c3eac128e wifi: mt76: change .sta_assoc callback to .sta_event 5af2f7c8e884 wifi: mt76: mt7915: use mac80211 .sta_state op 863b3a5f521e wifi: mt76: mt7915: set MT76_MCU_RESET early in mt7915_mac_full_reset a1a65d860812 wifi: mt76: mt7915: retry mcu messages 362fec004cea wifi: mt76: mt7915: reset the device after MCU timeout 37955a4d08db wifi: mt76: mt7996: use hweight16 to get correct tx antenna b980637b11e8 wifi: mt76: mt7996: fix traffic delay when switching back to working channel a5aa259fb137 wifi: mt76: mt7996: fix wmm set of station interface to 3 8e2f906cb154 wifi: mt76: mt7996: advertize beacon_int_min_gcd bf2eeec731c6 wifi: mt76: mt7996: fix HE and EHT beamforming capabilities c2c6940e60c4 wifi: mt76: mt7996: set correct beamformee SS capability 5cf02b0a2682 wifi: mt76: mt7996: fix EHT beamforming capability check 4a90f927311c wifi: mt76: mt7996: set correct value in beamforming mcu command for mt7992 c4e34c8bb963 wifi: mt76: mt7996: fix handling mbss enable/disable bb6a5dbbb7aa wifi: mt76: connac: add IEEE 802.11 fragmentation support for mt7996 437ec1b9e282 wifi: mt76: mt7996: set IEEE80211_KEY_FLAG_GENERATE_MMIE for other ciphers Signed-off-by: Felix Fietkau --- package/kernel/mt76/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/kernel/mt76/Makefile b/package/kernel/mt76/Makefile index f71070dbb9..fb9a36d38f 100644 --- a/package/kernel/mt76/Makefile +++ b/package/kernel/mt76/Makefile @@ -8,9 +8,9 @@ PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/openwrt/mt76 PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2024-07-13 -PKG_SOURCE_VERSION:=3b47d9df427c4833605a172f2a8f0e0012b04c80 -PKG_MIRROR_HASH:=23c3aaa53fb2e088446eb18148a44d3edcd3a0eda1ee41cf5cbf56064ebbee58 +PKG_SOURCE_DATE:=2024-08-16 +PKG_SOURCE_VERSION:=437ec1b9e282b1655d07c9f85e9aae6654573cb2 +PKG_MIRROR_HASH:=f7cbf7d344704001109ca5f324ed5ede2991a825950cfcca48655aad318fbef8 PKG_MAINTAINER:=Felix Fietkau PKG_USE_NINJA:=0 From 8208d36220d48760f06157c8a24ab385a69de0f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Fri, 16 Aug 2024 20:37:41 +0200 Subject: [PATCH 08/12] kernel: r8168/r8125/r8126: update PKG_SOURCE_URL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit r8168, r8125 and r8126 have been transferred from https://github.com/noltari to https://github.com/openwrt. The old URL should still work after the transfer, but let's update it anyway. Signed-off-by: Álvaro Fernández Rojas --- package/kernel/r8125/Makefile | 2 +- package/kernel/r8126/Makefile | 2 +- package/kernel/r8168/Makefile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package/kernel/r8125/Makefile b/package/kernel/r8125/Makefile index f0bdabae7c..0b78154c01 100644 --- a/package/kernel/r8125/Makefile +++ b/package/kernel/r8125/Makefile @@ -5,7 +5,7 @@ PKG_VERSION:=9.013.02 PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 -PKG_SOURCE_URL:=https://github.com/Noltari/rtl8125/releases/download/$(PKG_VERSION) +PKG_SOURCE_URL:=https://github.com/openwrt/rtl8125/releases/download/$(PKG_VERSION) PKG_HASH:=d36410ee99c956f250d9cd08340d8c36567d190f420a8ee128ff6e51225aac0c PKG_BUILD_PARALLEL:=1 diff --git a/package/kernel/r8126/Makefile b/package/kernel/r8126/Makefile index 2a7672ed88..691f5a2d97 100644 --- a/package/kernel/r8126/Makefile +++ b/package/kernel/r8126/Makefile @@ -5,7 +5,7 @@ PKG_VERSION:=10.013.00 PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 -PKG_SOURCE_URL:=https://github.com/Noltari/rtl8126/releases/download/$(PKG_VERSION) +PKG_SOURCE_URL:=https://github.com/openwrt/rtl8126/releases/download/$(PKG_VERSION) PKG_HASH:=b41bda6ff3bbb7d9bc5b81c5c21355f031587d3a3a5862abcd4d766e942272e7 PKG_BUILD_PARALLEL:=1 diff --git a/package/kernel/r8168/Makefile b/package/kernel/r8168/Makefile index 850e5c544e..4279399282 100644 --- a/package/kernel/r8168/Makefile +++ b/package/kernel/r8168/Makefile @@ -5,7 +5,7 @@ PKG_VERSION:=8.053.00 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 -PKG_SOURCE_URL:=https://github.com/Noltari/rtl8168/releases/download/$(PKG_VERSION) +PKG_SOURCE_URL:=https://github.com/openwrt/rtl8168/releases/download/$(PKG_VERSION) PKG_HASH:=52f1e6200672b598a04d4ac21ac92a8a9e128b38208c7b03a464bfa93bbfcc8f PKG_BUILD_PARALLEL:=1 From b72c4b53860ef7a65f486212c7393e2c2b57344b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Fri, 16 Aug 2024 20:22:56 +0200 Subject: [PATCH 09/12] package: add kmod-r8101 ethernet driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit r8101 is an out of tree driver provided by Realtek for RTL8101 devices. Signed-off-by: Álvaro Fernández Rojas --- package/kernel/r8101/Makefile | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 package/kernel/r8101/Makefile diff --git a/package/kernel/r8101/Makefile b/package/kernel/r8101/Makefile new file mode 100644 index 0000000000..d385d8308c --- /dev/null +++ b/package/kernel/r8101/Makefile @@ -0,0 +1,33 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=r8101 +PKG_VERSION:=1.039.00 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_SOURCE_URL:=https://github.com/openwrt/rtl8101/releases/download/$(PKG_VERSION) +PKG_HASH:=e64e1738e71d6717dd844bf771fea4691edae63e92d7d03bb5ad2ef08e56e72b + +PKG_BUILD_PARALLEL:=1 +PKG_LICENSE:=GPLv2 +PKG_MAINTAINER:=Alvaro Fernandez Rojas + +include $(INCLUDE_DIR)/kernel.mk +include $(INCLUDE_DIR)/package.mk + +define KernelPackage/r8101 + SUBMENU:=Network Devices + TITLE:=Realtek RTL8101 PCI Fast Ethernet driver + DEPENDS:=@PCI_SUPPORT + FILES:=$(PKG_BUILD_DIR)/src/r8101.ko + AUTOLOAD:=$(call AutoProbe,r8101) + PROVIDES:=kmod-r8169 +endef + +define Build/Compile + +$(KERNEL_MAKE) $(PKG_JOBS) \ + M="$(PKG_BUILD_DIR)/src" \ + modules +endef + +$(eval $(call KernelPackage,r8101)) From 8d257238654ff9f236ef7978dea0f5a010df4f3e Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sun, 18 Aug 2024 09:55:38 +0200 Subject: [PATCH 10/12] mt76: update to Git HEAD (2024-08-18) 0ac3041a9ac8 wifi: mt76: fix off-channel wcid pending queue handling Signed-off-by: Felix Fietkau --- package/kernel/mt76/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/kernel/mt76/Makefile b/package/kernel/mt76/Makefile index fb9a36d38f..a96164b6d0 100644 --- a/package/kernel/mt76/Makefile +++ b/package/kernel/mt76/Makefile @@ -8,9 +8,9 @@ PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/openwrt/mt76 PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2024-08-16 -PKG_SOURCE_VERSION:=437ec1b9e282b1655d07c9f85e9aae6654573cb2 -PKG_MIRROR_HASH:=f7cbf7d344704001109ca5f324ed5ede2991a825950cfcca48655aad318fbef8 +PKG_SOURCE_DATE:=2024-08-18 +PKG_SOURCE_VERSION:=0ac3041a9ac8f79aa0b859213bc223e0c471fcfb +PKG_MIRROR_HASH:=758df7f12a240ab32b61f81e2982417c7449f1cb3b41d41de02e7af91314b195 PKG_MAINTAINER:=Felix Fietkau PKG_USE_NINJA:=0 From 2fd0102cc3dfd81f4585e8599bf671157a4450b8 Mon Sep 17 00:00:00 2001 From: Chukun Pan Date: Mon, 12 Aug 2024 21:26:01 +0800 Subject: [PATCH 11/12] kernel: r8125: ignore the rss rxnfc log MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This log is noisy and useless, just ignore it. Signed-off-by: Álvaro Fernández Rojas Signed-off-by: Chukun Pan --- package/kernel/r8125/Makefile | 2 +- .../100-r8125_rss-silence-rxnfc-log.patch | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 package/kernel/r8125/patches/100-r8125_rss-silence-rxnfc-log.patch diff --git a/package/kernel/r8125/Makefile b/package/kernel/r8125/Makefile index 0b78154c01..9865210e58 100644 --- a/package/kernel/r8125/Makefile +++ b/package/kernel/r8125/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=r8125 PKG_VERSION:=9.013.02 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://github.com/openwrt/rtl8125/releases/download/$(PKG_VERSION) diff --git a/package/kernel/r8125/patches/100-r8125_rss-silence-rxnfc-log.patch b/package/kernel/r8125/patches/100-r8125_rss-silence-rxnfc-log.patch new file mode 100644 index 0000000000..58eb470037 --- /dev/null +++ b/package/kernel/r8125/patches/100-r8125_rss-silence-rxnfc-log.patch @@ -0,0 +1,26 @@ +From cd20cf48c0ec2a01fd9f512e25218a6ac8131794 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= +Date: Sat, 17 Aug 2024 22:07:23 +0200 +Subject: [PATCH] r8125_rss: silence rxnfc log +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This log is noisy and useless, just ignore it. + +Signed-off-by: Chukun Pan +--- + src/r8125_rss.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/r8125_rss.c ++++ b/src/r8125_rss.c +@@ -91,7 +91,7 @@ int rtl8125_get_rxnfc(struct net_device + struct rtl8125_private *tp = netdev_priv(dev); + int ret = -EOPNOTSUPP; + +- netif_info(tp, drv, tp->dev, "rss get rxnfc\n"); ++ netif_dbg(tp, drv, tp->dev, "rss get rxnfc\n"); + + if (!(dev->features & NETIF_F_RXHASH)) + return ret; From 8d9893ff34242f887f40ca271a39e4c67c87b88d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Mon, 12 Aug 2024 21:26:01 +0800 Subject: [PATCH 12/12] kernel: r8126: ignore the rss rxnfc log MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This log is noisy and useless, just ignore it. Signed-off-by: Álvaro Fernández Rojas Signed-off-by: Chukun Pan --- package/kernel/r8126/Makefile | 2 +- ...LL.patch => 001-r8126.h-use-BIT_ULL.patch} | 2 +- .../100-r8126_rss-silence-rxnfc-log.patch | 27 +++++++++++++++++++ 3 files changed, 29 insertions(+), 2 deletions(-) rename package/kernel/r8126/patches/{0001-r8126.h-use-BIT_ULL.patch => 001-r8126.h-use-BIT_ULL.patch} (97%) create mode 100644 package/kernel/r8126/patches/100-r8126_rss-silence-rxnfc-log.patch diff --git a/package/kernel/r8126/Makefile b/package/kernel/r8126/Makefile index 691f5a2d97..88d45ff6b0 100644 --- a/package/kernel/r8126/Makefile +++ b/package/kernel/r8126/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=r8126 PKG_VERSION:=10.013.00 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://github.com/openwrt/rtl8126/releases/download/$(PKG_VERSION) diff --git a/package/kernel/r8126/patches/0001-r8126.h-use-BIT_ULL.patch b/package/kernel/r8126/patches/001-r8126.h-use-BIT_ULL.patch similarity index 97% rename from package/kernel/r8126/patches/0001-r8126.h-use-BIT_ULL.patch rename to package/kernel/r8126/patches/001-r8126.h-use-BIT_ULL.patch index cf83163966..cfbf31fcbb 100644 --- a/package/kernel/r8126/patches/0001-r8126.h-use-BIT_ULL.patch +++ b/package/kernel/r8126/patches/001-r8126.h-use-BIT_ULL.patch @@ -5,7 +5,7 @@ Subject: [PATCH] r8126.h: use BIT_ULL Fixes compilation on 32 bit systems. --- - r8126.h | 2 +- + src/r8126.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/src/r8126.h diff --git a/package/kernel/r8126/patches/100-r8126_rss-silence-rxnfc-log.patch b/package/kernel/r8126/patches/100-r8126_rss-silence-rxnfc-log.patch new file mode 100644 index 0000000000..d06406004c --- /dev/null +++ b/package/kernel/r8126/patches/100-r8126_rss-silence-rxnfc-log.patch @@ -0,0 +1,27 @@ +From cd20cf48c0ec2a01fd9f512e25218a6ac8131794 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= +Date: Sat, 17 Aug 2024 22:07:23 +0200 +Subject: [PATCH] r8126_rss: silence rxnfc log +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This log is noisy and useless, just ignore it. + +Signed-off-by: Chukun Pan +Signed-off-by: Álvaro Fernández Rojas +--- + src/r8126_rss.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/src/r8126_rss.c ++++ b/src/r8126_rss.c +@@ -91,7 +91,7 @@ int rtl8126_get_rxnfc(struct net_device + struct rtl8126_private *tp = netdev_priv(dev); + int ret = -EOPNOTSUPP; + +- netif_info(tp, drv, tp->dev, "rss get rxnfc\n"); ++ netif_dbg(tp, drv, tp->dev, "rss get rxnfc\n"); + + if (!(dev->features & NETIF_F_RXHASH)) + return ret;