[openwrt/openwrt] ath79: refresh 6.12 kernel patches

LEDE Commits lede-commits at lists.infradead.org
Sat May 24 06:43:16 PDT 2025


blocktrron pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/fe42a75b0304a73a07438194b36556e1c9c34aeb

commit fe42a75b0304a73a07438194b36556e1c9c34aeb
Author: Shiji Yang <yangshiji66 at outlook.com>
AuthorDate: Thu May 1 00:38:19 2025 +0800

    ath79: refresh 6.12 kernel patches
    
    Remove upstreamed:
    001-v6.11-gpio-ath79-convert-to-dynamic-GPIO-base-allocation.patch [1]
    
    Manually rebased:
    341-wifi-ath9k-obtain-system-gpios.patch
    900-unaligned_access_hacks.patch
    
    [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.12.y&id=9a473c2a093e0d1c466bf86073230e2c8b658977
    Signed-off-by: Shiji Yang <yangshiji66 at outlook.com>
---
 ...9-convert-to-dynamic-GPIO-base-allocation.patch | 32 ----------
 .../340-register_gpio_driver_earlier.patch         |  2 +-
 .../341-wifi-ath9k-obtain-system-gpios.patch       | 14 ++---
 .../370-MIPS-ath79-sanitize-symbols.patch          |  2 +-
 ...mtd-nor-support-mtd-name-from-device-tree.patch |  4 +-
 .../patches-6.12/410-mtd-cybertan-trx-parser.patch |  4 +-
 .../patches-6.12/430-mtd-ar934x-nand-driver.patch  |  4 +-
 ...00-leds-add-reset-controller-based-driver.patch |  8 +--
 .../patches-6.12/900-unaligned_access_hacks.patch  | 71 +++++++++++-----------
 .../ath79/patches-6.12/910-mikrotik-rb4xx.patch    | 12 ++--
 .../ath79/patches-6.12/911-mikrotik-rb91x.patch    | 20 +++---
 11 files changed, 70 insertions(+), 103 deletions(-)

diff --git a/target/linux/ath79/patches-6.12/001-v6.11-gpio-ath79-convert-to-dynamic-GPIO-base-allocation.patch b/target/linux/ath79/patches-6.12/001-v6.11-gpio-ath79-convert-to-dynamic-GPIO-base-allocation.patch
deleted file mode 100644
index 4222639d4d..0000000000
--- a/target/linux/ath79/patches-6.12/001-v6.11-gpio-ath79-convert-to-dynamic-GPIO-base-allocation.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 9a473c2a093e0d1c466bf86073230e2c8b658977 Mon Sep 17 00:00:00 2001
-From: Shiji Yang <yangshiji66 at outlook.com>
-Date: Wed, 26 Jun 2024 08:33:18 +0800
-Subject: gpio: ath79: convert to dynamic GPIO base allocation
-
-ath79 target has already been converted to device tree based platform.
-Use dynamic GPIO numberspace base to suppress the warning:
-
-gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
-
-Tested on Atheros AR7241 and AR9344.
-
-Signed-off-by: Shiji Yang <yangshiji66 at outlook.com>
-Suggested-by: Jonas Gorski <jonas.gorski at gmail.com>
-Link: https://lore.kernel.org/r/TYCP286MB089598EA71E964BD8AB9EFD3BCD62@TYCP286MB0895.JPNP286.PROD.OUTLOOK.COM
-[Bartosz: tweaked the commit message]
-Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski at linaro.org>
----
- drivers/gpio/gpio-ath79.c | 2 --
- 1 file changed, 2 deletions(-)
-
---- a/drivers/gpio/gpio-ath79.c
-+++ b/drivers/gpio/gpio-ath79.c
-@@ -273,8 +273,6 @@ static int ath79_gpio_probe(struct platf
- 		dev_err(dev, "bgpio_init failed\n");
- 		return err;
- 	}
--	/* Use base 0 to stay compatible with legacy platforms */
--	ctrl->gc.base = 0;
- 
- 	/* Optional interrupt setup */
- 	if (!np || of_property_read_bool(np, "interrupt-controller")) {
diff --git a/target/linux/ath79/patches-6.12/340-register_gpio_driver_earlier.patch b/target/linux/ath79/patches-6.12/340-register_gpio_driver_earlier.patch
index a3bdf890c4..e6415b3dca 100644
--- a/target/linux/ath79/patches-6.12/340-register_gpio_driver_earlier.patch
+++ b/target/linux/ath79/patches-6.12/340-register_gpio_driver_earlier.patch
@@ -11,7 +11,7 @@ Submitted-by: John Crispin <john at phrozen.org>
 
 --- a/drivers/gpio/gpio-ath79.c
 +++ b/drivers/gpio/gpio-ath79.c
-@@ -300,7 +300,11 @@ static struct platform_driver ath79_gpio
+@@ -291,7 +291,11 @@ static struct platform_driver ath79_gpio
  	.probe = ath79_gpio_probe,
  };
  
diff --git a/target/linux/ath79/patches-6.12/341-wifi-ath9k-obtain-system-gpios.patch b/target/linux/ath79/patches-6.12/341-wifi-ath9k-obtain-system-gpios.patch
index a43e3537e6..e7017a4674 100644
--- a/target/linux/ath79/patches-6.12/341-wifi-ath9k-obtain-system-gpios.patch
+++ b/target/linux/ath79/patches-6.12/341-wifi-ath9k-obtain-system-gpios.patch
@@ -172,14 +172,14 @@ Best regards,
 
 --- a/drivers/gpio/gpio-ath79.c
 +++ b/drivers/gpio/gpio-ath79.c
-@@ -9,6 +9,7 @@
-  */
+@@ -10,6 +10,7 @@
  
+ #include <linux/device.h>
  #include <linux/gpio/driver.h>
 +#include <linux/gpio/machine.h> /* For WLAN GPIOs */
- #include <linux/platform_device.h>
- #include <linux/platform_data/gpio-ath79.h>
- #include <linux/of.h>
+ #include <linux/interrupt.h>
+ #include <linux/irq.h>
+ #include <linux/mod_devicetable.h>
 @@ -222,6 +223,37 @@ static const struct of_device_id ath79_g
  };
  MODULE_DEVICE_TABLE(of, ath79_gpio_of_match);
@@ -217,8 +217,8 @@ Best regards,
 +
  static int ath79_gpio_probe(struct platform_device *pdev)
  {
- 	struct ath79_gpio_platform_data *pdata = dev_get_platdata(&pdev->dev);
-@@ -289,7 +321,11 @@ static int ath79_gpio_probe(struct platf
+ 	struct device *dev = &pdev->dev;
+@@ -280,7 +312,11 @@ static int ath79_gpio_probe(struct platf
  		girq->handler = handle_simple_irq;
  	}
  
diff --git a/target/linux/ath79/patches-6.12/370-MIPS-ath79-sanitize-symbols.patch b/target/linux/ath79/patches-6.12/370-MIPS-ath79-sanitize-symbols.patch
index e6aeef5115..b7cc5fe022 100644
--- a/target/linux/ath79/patches-6.12/370-MIPS-ath79-sanitize-symbols.patch
+++ b/target/linux/ath79/patches-6.12/370-MIPS-ath79-sanitize-symbols.patch
@@ -15,7 +15,7 @@ Signed-off-by: John Crispin <john at phrozen.org>
 
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -255,6 +255,8 @@ config ATH79
+@@ -242,6 +242,8 @@ config ATH79
  	select SYS_SUPPORTS_BIG_ENDIAN
  	select SYS_SUPPORTS_MIPS16
  	select SYS_SUPPORTS_ZBOOT_UART_PROM
diff --git a/target/linux/ath79/patches-6.12/400-mtd-nor-support-mtd-name-from-device-tree.patch b/target/linux/ath79/patches-6.12/400-mtd-nor-support-mtd-name-from-device-tree.patch
index 62d402625d..bbdc90c1cf 100644
--- a/target/linux/ath79/patches-6.12/400-mtd-nor-support-mtd-name-from-device-tree.patch
+++ b/target/linux/ath79/patches-6.12/400-mtd-nor-support-mtd-name-from-device-tree.patch
@@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma at imgtec.com>
 
 --- a/drivers/mtd/spi-nor/core.c
 +++ b/drivers/mtd/spi-nor/core.c
-@@ -3420,12 +3420,19 @@ static void spi_nor_set_mtd_info(struct
+@@ -3385,12 +3385,19 @@ static int spi_nor_set_mtd_info(struct s
  {
  	struct mtd_info *mtd = &nor->mtd;
  	struct device *dev = nor->dev;
@@ -33,7 +33,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma at imgtec.com>
  	mtd->flags = MTD_CAP_NORFLASH;
 --- a/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
-@@ -870,6 +870,17 @@ out_error:
+@@ -872,6 +872,17 @@ out_error:
   */
  static void mtd_set_dev_defaults(struct mtd_info *mtd)
  {
diff --git a/target/linux/ath79/patches-6.12/410-mtd-cybertan-trx-parser.patch b/target/linux/ath79/patches-6.12/410-mtd-cybertan-trx-parser.patch
index d0e8aec0d5..918ee42db0 100644
--- a/target/linux/ath79/patches-6.12/410-mtd-cybertan-trx-parser.patch
+++ b/target/linux/ath79/patches-6.12/410-mtd-cybertan-trx-parser.patch
@@ -18,7 +18,7 @@ Submitted-by: Christian Lamparter <chunkeey at gmail.com>
 
 --- a/drivers/mtd/parsers/Makefile
 +++ b/drivers/mtd/parsers/Makefile
-@@ -9,6 +9,7 @@ obj-$(CONFIG_MTD_OF_PARTS)		+= ofpart.o
+@@ -8,6 +8,7 @@ obj-$(CONFIG_MTD_OF_PARTS)		+= ofpart.o
  ofpart-y				+= ofpart_core.o
  ofpart-$(CONFIG_MTD_OF_PARTS_BCM4908)	+= ofpart_bcm4908.o
  ofpart-$(CONFIG_MTD_OF_PARTS_LINKSYS_NS)+= ofpart_linksys_ns.o
@@ -28,7 +28,7 @@ Submitted-by: Christian Lamparter <chunkeey at gmail.com>
  obj-$(CONFIG_MTD_PARSER_TPLINK_SAFELOADER)	+= tplink_safeloader.o
 --- a/drivers/mtd/parsers/Kconfig
 +++ b/drivers/mtd/parsers/Kconfig
-@@ -112,6 +112,14 @@ config MTD_OF_PARTS_LINKSYS_NS
+@@ -107,6 +107,14 @@ config MTD_OF_PARTS_LINKSYS_NS
  	  two "firmware" partitions. Currently used firmware has to be detected
  	  using CFE environment variable.
  
diff --git a/target/linux/ath79/patches-6.12/430-mtd-ar934x-nand-driver.patch b/target/linux/ath79/patches-6.12/430-mtd-ar934x-nand-driver.patch
index fc4c3804a7..e82c0a77c8 100644
--- a/target/linux/ath79/patches-6.12/430-mtd-ar934x-nand-driver.patch
+++ b/target/linux/ath79/patches-6.12/430-mtd-ar934x-nand-driver.patch
@@ -9,7 +9,7 @@ SVN-Revision: 33385
 
 --- a/drivers/mtd/nand/raw/Kconfig
 +++ b/drivers/mtd/nand/raw/Kconfig
-@@ -542,4 +542,12 @@ config MTD_NAND_DISKONCHIP_BBTWRITE
+@@ -548,4 +548,12 @@ config MTD_NAND_DISKONCHIP_BBTWRITE
  	  load time (assuming you build diskonchip as a module) with the module
  	  parameter "inftl_bbt_write=1".
  
@@ -24,7 +24,7 @@ SVN-Revision: 33385
  endif # MTD_RAW_NAND
 --- a/drivers/mtd/nand/raw/Makefile
 +++ b/drivers/mtd/nand/raw/Makefile
-@@ -57,6 +57,7 @@ obj-$(CONFIG_MTD_NAND_INTEL_LGM)	+= inte
+@@ -58,6 +58,7 @@ obj-$(CONFIG_MTD_NAND_INTEL_LGM)	+= inte
  obj-$(CONFIG_MTD_NAND_ROCKCHIP)		+= rockchip-nand-controller.o
  obj-$(CONFIG_MTD_NAND_PL35X)		+= pl35x-nand-controller.o
  obj-$(CONFIG_MTD_NAND_RENESAS)		+= renesas-nand-controller.o
diff --git a/target/linux/ath79/patches-6.12/800-leds-add-reset-controller-based-driver.patch b/target/linux/ath79/patches-6.12/800-leds-add-reset-controller-based-driver.patch
index e84cc00f4b..b40982046e 100644
--- a/target/linux/ath79/patches-6.12/800-leds-add-reset-controller-based-driver.patch
+++ b/target/linux/ath79/patches-6.12/800-leds-add-reset-controller-based-driver.patch
@@ -13,7 +13,7 @@ Signed-off-by: John Crispin <john at phrozen.org>
 
 --- a/drivers/leds/Kconfig
 +++ b/drivers/leds/Kconfig
-@@ -911,6 +911,17 @@ source "drivers/leds/flash/Kconfig"
+@@ -977,6 +977,17 @@ source "drivers/leds/flash/Kconfig"
  comment "RGB LED drivers"
  source "drivers/leds/rgb/Kconfig"
  
@@ -176,11 +176,11 @@ Signed-off-by: John Crispin <john at phrozen.org>
 +MODULE_ALIAS("platform:leds-reset");
 --- a/drivers/leds/Makefile
 +++ b/drivers/leds/Makefile
-@@ -89,6 +89,7 @@ obj-$(CONFIG_LEDS_TURRIS_OMNIA)		+= leds
+@@ -93,6 +93,7 @@ obj-$(CONFIG_LEDS_TURRIS_OMNIA)		+= leds
  obj-$(CONFIG_LEDS_WM831X_STATUS)	+= leds-wm831x-status.o
  obj-$(CONFIG_LEDS_WM8350)		+= leds-wm8350.o
  obj-$(CONFIG_LEDS_WRAP)			+= leds-wrap.o
 +obj-$(CONFIG_LEDS_RESET)		+= leds-reset.o
  
- # LED SPI Drivers
- obj-$(CONFIG_LEDS_CR0014114)		+= leds-cr0014114.o
+ # Kinetic ExpressWire Protocol
+ obj-$(CONFIG_LEDS_EXPRESSWIRE)		+= leds-expresswire.o
diff --git a/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch b/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch
index 870567c058..364f8c5922 100644
--- a/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch
+++ b/target/linux/ath79/patches-6.12/900-unaligned_access_hacks.patch
@@ -255,11 +255,11 @@ SVN-Revision: 35130
  #include <linux/ipsec.h>
  #include <linux/times.h>
  #include <linux/slab.h>
-+#include <asm/unaligned.h>
++#include <linux/unaligned.h>
  #include <linux/uaccess.h>
  #include <linux/ipv6.h>
  #include <linux/icmpv6.h>
-@@ -891,10 +892,10 @@ static void tcp_v6_send_response(const s
+@@ -914,10 +915,10 @@ static void tcp_v6_send_response(const s
  	topt = (__be32 *)(t1 + 1);
  
  	if (tsecr) {
@@ -276,7 +276,7 @@ SVN-Revision: 35130
  	if (mrst)
 --- a/include/linux/ipv6.h
 +++ b/include/linux/ipv6.h
-@@ -6,6 +6,7 @@
+@@ -7,6 +7,7 @@
  
  #define ipv6_optlen(p)  (((p)->hdrlen+1) << 3)
  #define ipv6_authlen(p) (((p)->hdrlen+2) << 2)
@@ -286,7 +286,7 @@ SVN-Revision: 35130
   */
 --- a/net/ipv6/datagram.c
 +++ b/net/ipv6/datagram.c
-@@ -499,7 +499,7 @@ int ipv6_recv_error(struct sock *sk, str
+@@ -498,7 +498,7 @@ int ipv6_recv_error(struct sock *sk, str
  				ipv6_iface_scope_id(&sin->sin6_addr,
  						    IP6CB(skb)->iif);
  		} else {
@@ -295,7 +295,7 @@ SVN-Revision: 35130
  					       &sin->sin6_addr);
  			sin->sin6_scope_id = 0;
  		}
-@@ -853,12 +853,12 @@ int ip6_datagram_send_ctl(struct net *ne
+@@ -852,12 +852,12 @@ int ip6_datagram_send_ctl(struct net *ne
  			}
  
  			if (fl6->flowlabel&IPV6_FLOWINFO_MASK) {
@@ -312,7 +312,7 @@ SVN-Revision: 35130
  		case IPV6_2292HOPOPTS:
 --- a/net/ipv6/exthdrs.c
 +++ b/net/ipv6/exthdrs.c
-@@ -982,7 +982,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
+@@ -980,7 +980,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
  		goto drop;
  	}
  
@@ -323,7 +323,7 @@ SVN-Revision: 35130
  					 SKB_DROP_REASON_IP_INHDR);
 --- a/include/linux/types.h
 +++ b/include/linux/types.h
-@@ -244,5 +244,11 @@ typedef void (*swap_func_t)(void *a, voi
+@@ -247,5 +247,11 @@ typedef void (*swap_func_t)(void *a, voi
  typedef int (*cmp_r_func_t)(const void *a, const void *b, const void *priv);
  typedef int (*cmp_func_t)(const void *a, const void *b);
  
@@ -337,23 +337,21 @@ SVN-Revision: 35130
  #endif /* _LINUX_TYPES_H */
 --- a/net/ipv4/af_inet.c
 +++ b/net/ipv4/af_inet.c
-@@ -1506,8 +1506,8 @@ struct sk_buff *inet_gro_receive(struct
+@@ -1507,7 +1507,7 @@ struct sk_buff *inet_gro_receive(struct
  		goto out;
  
  	NAPI_GRO_CB(skb)->proto = proto;
--	id = ntohl(*(__be32 *)&iph->id);
--	flush = (u16)((ntohl(*(__be32 *)iph) ^ skb_gro_len(skb)) | (id & ~IP_DF));
-+	id = ntohl(net_hdr_word(&iph->id));
-+	flush = (u16)((ntohl(net_hdr_word(iph)) ^ skb_gro_len(skb)) | (id & ~IP_DF));
- 	id >>= 16;
+-	flush = (u16)((ntohl(*(__be32 *)iph) ^ skb_gro_len(skb)) | (ntohl(*(__be32 *)&iph->id) & ~IP_DF));
++	flush = (u16)((ntohl(net_hdr_word(iph)) ^ skb_gro_len(skb)) | (ntohl(net_hdr_word(&iph->id)) & ~IP_DF));
  
  	list_for_each_entry(p, head, list) {
+ 		struct iphdr *iph2;
 --- a/net/ipv4/tcp_output.c
 +++ b/net/ipv4/tcp_output.c
-@@ -625,48 +625,53 @@ static void tcp_options_write(struct tcp
+@@ -668,8 +668,9 @@ static void tcp_options_write(struct tcp
  	u16 options = opts->options;	/* mungable copy */
  
- 	if (unlikely(OPTION_MD5 & options)) {
+ 	if (tcp_key_is_md5(key)) {
 -		*ptr++ = htonl((TCPOPT_NOP << 24) | (TCPOPT_NOP << 16) |
 -			       (TCPOPT_MD5SIG << 8) | TCPOLEN_MD5SIG);
 +		net_hdr_word(ptr++) =
@@ -362,8 +360,9 @@ SVN-Revision: 35130
  		/* overload cookie hash location */
  		opts->hash_location = (__u8 *)ptr;
  		ptr += 4;
+@@ -677,40 +678,44 @@ static void tcp_options_write(struct tcp
+ 		ptr = process_tcp_ao_options(tp, tcprsk, opts, key, ptr);
  	}
- 
  	if (unlikely(opts->mss)) {
 -		*ptr++ = htonl((TCPOPT_MSS << 24) |
 -			       (TCPOLEN_MSS << 16) |
@@ -427,7 +426,7 @@ SVN-Revision: 35130
  	}
  
  	if (unlikely(opts->num_sack_blocks)) {
-@@ -674,16 +679,17 @@ static void tcp_options_write(struct tcp
+@@ -718,16 +723,17 @@ static void tcp_options_write(struct tcp
  			tp->duplicate_sack : tp->selective_acks;
  		int this_sack;
  
@@ -451,7 +450,7 @@ SVN-Revision: 35130
  		}
  
  		tp->rx_opt.dsack = 0;
-@@ -696,13 +702,14 @@ static void tcp_options_write(struct tcp
+@@ -740,13 +746,14 @@ static void tcp_options_write(struct tcp
  
  		if (foc->exp) {
  			len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len;
@@ -540,7 +539,7 @@ SVN-Revision: 35130
  
  struct rd_msg {
  	struct icmp6hdr icmph;
-@@ -372,10 +372,10 @@ static inline u32 ndisc_hashfn(const voi
+@@ -357,10 +357,10 @@ static inline u32 ndisc_hashfn(const voi
  {
  	const u32 *p32 = pkey;
  
@@ -579,7 +578,7 @@ SVN-Revision: 35130
  			goto next_ht;
 --- a/net/ipv6/ip6_offload.c
 +++ b/net/ipv6/ip6_offload.c
-@@ -273,7 +273,7 @@ INDIRECT_CALLABLE_SCOPE struct sk_buff *
+@@ -269,7 +269,7 @@ INDIRECT_CALLABLE_SCOPE struct sk_buff *
  			continue;
  
  		iph2 = (struct ipv6hdr *)(p->data + off);
@@ -590,7 +589,7 @@ SVN-Revision: 35130
  		 * XXX skbs on the gro_list have all been parsed and pulled
 --- a/include/net/addrconf.h
 +++ b/include/net/addrconf.h
-@@ -52,7 +52,7 @@ struct prefix_info {
+@@ -57,7 +57,7 @@ struct prefix_info {
  	__be32			reserved2;
  
  	struct in6_addr		prefix;
@@ -624,7 +623,7 @@ SVN-Revision: 35130
  
  /*
   * Jumbo payload option, as described in RFC 2675 2.
-@@ -649,8 +649,8 @@ static inline void __ipv6_addr_set_half(
+@@ -651,8 +651,8 @@ static inline void __ipv6_addr_set_half(
  	}
  #endif
  #endif
@@ -635,7 +634,7 @@ SVN-Revision: 35130
  }
  
  static inline void ipv6_addr_set(struct in6_addr *addr,
-@@ -709,6 +709,8 @@ static inline bool ipv6_prefix_equal(con
+@@ -711,6 +711,8 @@ static inline bool ipv6_prefix_equal(con
  	const __be32 *a1 = addr1->s6_addr32;
  	const __be32 *a2 = addr2->s6_addr32;
  	unsigned int pdw, pbi;
@@ -644,7 +643,7 @@ SVN-Revision: 35130
  
  	/* check complete u32 in prefix */
  	pdw = prefixlen >> 5;
-@@ -717,7 +719,9 @@ static inline bool ipv6_prefix_equal(con
+@@ -719,7 +721,9 @@ static inline bool ipv6_prefix_equal(con
  
  	/* check incomplete u32 in prefix */
  	pbi = prefixlen & 0x1f;
@@ -655,7 +654,7 @@ SVN-Revision: 35130
  		return false;
  
  	return true;
-@@ -839,13 +843,13 @@ static inline void ipv6_addr_set_v4mappe
+@@ -836,13 +840,13 @@ static inline void ipv6_addr_set_v4mappe
   */
  static inline int __ipv6_addr_diff32(const void *token1, const void *token2, int addrlen)
  {
@@ -671,7 +670,7 @@ SVN-Revision: 35130
  		if (xb)
  			return i * 32 + 31 - __fls(ntohl(xb));
  	}
-@@ -1040,17 +1044,18 @@ static inline u32 ip6_multipath_hash_fie
+@@ -1037,17 +1041,18 @@ static inline u32 ip6_multipath_hash_fie
  static inline void ip6_flow_hdr(struct ipv6hdr *hdr, unsigned int tclass,
  				__be32 flowlabel)
  {
@@ -705,7 +704,7 @@ SVN-Revision: 35130
  
 --- a/include/uapi/linux/in.h
 +++ b/include/uapi/linux/in.h
-@@ -91,7 +91,7 @@ enum {
+@@ -93,7 +93,7 @@ enum {
  /* Internet address. */
  struct in_addr {
  	__be32	s_addr;
@@ -738,7 +737,7 @@ SVN-Revision: 35130
  				       | TCPOLEN_TIMESTAMP))
 --- a/net/xfrm/xfrm_input.c
 +++ b/net/xfrm/xfrm_input.c
-@@ -168,8 +168,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
+@@ -169,8 +169,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
  	if (!pskb_may_pull(skb, hlen))
  		return -EINVAL;
  
@@ -751,7 +750,7 @@ SVN-Revision: 35130
  EXPORT_SYMBOL(xfrm_parse_spi);
 --- a/net/ipv4/tcp_input.c
 +++ b/net/ipv4/tcp_input.c
-@@ -4268,14 +4268,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -4321,14 +4321,16 @@ static bool tcp_parse_aligned_timestamp(
  {
  	const __be32 *ptr = (const __be32 *)(th + 1);
  
@@ -830,7 +829,7 @@ SVN-Revision: 35130
  		*sum = csum_fold(csum_partial(diff, sizeof(diff),
 --- a/include/linux/etherdevice.h
 +++ b/include/linux/etherdevice.h
-@@ -555,7 +555,7 @@ static inline bool is_etherdev_addr(cons
+@@ -559,7 +559,7 @@ static inline bool is_etherdev_addr(cons
   * @b: Pointer to Ethernet header
   *
   * Compare two Ethernet headers, returns 0 if equal.
@@ -839,7 +838,7 @@ SVN-Revision: 35130
   * aligned OR the platform can handle unaligned access.  This is the
   * case for all packets coming into netif_receive_skb or similar
   * entry points.
-@@ -578,11 +578,12 @@ static inline unsigned long compare_ethe
+@@ -582,11 +582,12 @@ static inline unsigned long compare_ethe
  	fold |= *(unsigned long *)(a + 6) ^ *(unsigned long *)(b + 6);
  	return fold;
  #else
@@ -876,7 +875,7 @@ SVN-Revision: 35130
  			NAPI_GRO_CB(p)->same_flow = 0;
  			continue;
  		}
-@@ -333,8 +333,8 @@ struct sk_buff *tcp_gro_receive(struct l
+@@ -331,8 +331,8 @@ struct sk_buff *tcp_gro_receive(struct l
  		  ~(TCP_FLAG_CWR | TCP_FLAG_FIN | TCP_FLAG_PSH));
  	flush |= (__force int)(th->ack_seq ^ th2->ack_seq);
  	for (i = sizeof(*th); i < thlen; i += 4)
@@ -885,8 +884,8 @@ SVN-Revision: 35130
 +		flush |= net_hdr_word((u8 *)th + i) ^
 +			 net_hdr_word((u8 *)th2 + i);
  
- 	/* When we receive our second frame we can made a decision on if we
- 	 * continue this flow as an atomic flow with a fixed ID or if we use
+ 	flush |= gro_receive_network_flush(th, th2, p);
+ 
 --- a/net/ipv6/netfilter/ip6table_mangle.c
 +++ b/net/ipv6/netfilter/ip6table_mangle.c
 @@ -44,7 +44,7 @@ ip6t_mangle_out(void *priv, struct sk_bu
@@ -897,8 +896,8 @@ SVN-Revision: 35130
 +	flowlabel = net_hdr_word(ipv6_hdr(skb));
  
  	ret = ip6t_do_table(priv, skb, state);
- 
-@@ -53,7 +53,7 @@ ip6t_mangle_out(void *priv, struct sk_bu
+ 	verdict = ret & NF_VERDICT_MASK;
+@@ -54,7 +54,7 @@ ip6t_mangle_out(void *priv, struct sk_bu
  	     !ipv6_addr_equal(&ipv6_hdr(skb)->daddr, &daddr) ||
  	     skb->mark != mark ||
  	     ipv6_hdr(skb)->hop_limit != hop_limit ||
diff --git a/target/linux/ath79/patches-6.12/910-mikrotik-rb4xx.patch b/target/linux/ath79/patches-6.12/910-mikrotik-rb4xx.patch
index 674cc2fe66..8ac8b38428 100644
--- a/target/linux/ath79/patches-6.12/910-mikrotik-rb4xx.patch
+++ b/target/linux/ath79/patches-6.12/910-mikrotik-rb4xx.patch
@@ -45,7 +45,7 @@ Submitted-by: Christopher Hill <ch6574 at gmail.com>
 
 --- a/drivers/mfd/Kconfig
 +++ b/drivers/mfd/Kconfig
-@@ -2261,6 +2261,14 @@ config RAVE_SP_CORE
+@@ -2330,6 +2330,14 @@ config RAVE_SP_CORE
  	  Select this to get support for the Supervisory Processor
  	  device found on several devices in RAVE line of hardware.
  
@@ -62,7 +62,7 @@ Submitted-by: Christopher Hill <ch6574 at gmail.com>
  	depends on PCI && MIPS && 64BIT
 --- a/drivers/mfd/Makefile
 +++ b/drivers/mfd/Makefile
-@@ -269,6 +269,7 @@ obj-$(CONFIG_MFD_KHADAS_MCU) 	+= khadas-
+@@ -276,6 +276,7 @@ obj-$(CONFIG_MFD_KHADAS_MCU) 	+= khadas-
  obj-$(CONFIG_MFD_ACER_A500_EC)	+= acer-ec-a500.o
  obj-$(CONFIG_MFD_QCOM_PM8008)	+= qcom-pm8008.o
  
@@ -72,7 +72,7 @@ Submitted-by: Christopher Hill <ch6574 at gmail.com>
  obj-$(CONFIG_MFD_SMPRO)		+= smpro-core.o
 --- a/drivers/gpio/Kconfig
 +++ b/drivers/gpio/Kconfig
-@@ -1696,6 +1696,12 @@ config GPIO_SODAVILLE
+@@ -1772,6 +1772,12 @@ config GPIO_SODAVILLE
  	help
  	  Say Y here to support Intel Sodaville GPIO.
  
@@ -87,7 +87,7 @@ Submitted-by: Christopher Hill <ch6574 at gmail.com>
  menu "SPI GPIO expanders"
 --- a/drivers/gpio/Makefile
 +++ b/drivers/gpio/Makefile
-@@ -131,6 +131,7 @@ obj-$(CONFIG_GPIO_PL061)		+= gpio-pl061.
+@@ -136,6 +136,7 @@ obj-$(CONFIG_GPIO_PL061)		+= gpio-pl061.
  obj-$(CONFIG_GPIO_PMIC_EIC_SPRD)	+= gpio-pmic-eic-sprd.o
  obj-$(CONFIG_GPIO_PXA)			+= gpio-pxa.o
  obj-$(CONFIG_GPIO_RASPBERRYPI_EXP)	+= gpio-raspberrypi-exp.o
@@ -97,7 +97,7 @@ Submitted-by: Christopher Hill <ch6574 at gmail.com>
  obj-$(CONFIG_GPIO_RDA)			+= gpio-rda.o
 --- a/drivers/mtd/nand/raw/Kconfig
 +++ b/drivers/mtd/nand/raw/Kconfig
-@@ -550,4 +550,11 @@ config MTD_NAND_AR934X
+@@ -556,4 +556,11 @@ config MTD_NAND_AR934X
  	  Enables support for NAND controller on Qualcomm Atheros SoCs.
  	  This controller is found on AR934x and QCA955x SoCs.
  
@@ -111,7 +111,7 @@ Submitted-by: Christopher Hill <ch6574 at gmail.com>
  endif # MTD_RAW_NAND
 --- a/drivers/mtd/nand/raw/Makefile
 +++ b/drivers/mtd/nand/raw/Makefile
-@@ -58,6 +58,7 @@ obj-$(CONFIG_MTD_NAND_ROCKCHIP)		+= rock
+@@ -59,6 +59,7 @@ obj-$(CONFIG_MTD_NAND_ROCKCHIP)		+= rock
  obj-$(CONFIG_MTD_NAND_PL35X)		+= pl35x-nand-controller.o
  obj-$(CONFIG_MTD_NAND_RENESAS)		+= renesas-nand-controller.o
  obj-$(CONFIG_MTD_NAND_AR934X)		+= ar934x_nand.o
diff --git a/target/linux/ath79/patches-6.12/911-mikrotik-rb91x.patch b/target/linux/ath79/patches-6.12/911-mikrotik-rb91x.patch
index ddb7b52cbe..ad76b65530 100644
--- a/target/linux/ath79/patches-6.12/911-mikrotik-rb91x.patch
+++ b/target/linux/ath79/patches-6.12/911-mikrotik-rb91x.patch
@@ -29,7 +29,7 @@ Tested-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
 
 --- a/drivers/gpio/Kconfig
 +++ b/drivers/gpio/Kconfig
-@@ -371,6 +371,12 @@ config GPIO_IXP4XX
+@@ -398,6 +398,12 @@ config GPIO_IXP4XX
  
  	  If unsure, say N.
  
@@ -42,20 +42,20 @@ Tested-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
  config GPIO_LOGICVC
  	tristate "Xylon LogiCVC GPIO support"
  	depends on MFD_SYSCON && OF
-@@ -553,6 +559,10 @@ config GPIO_ROCKCHIP
+@@ -555,6 +561,10 @@ config GPIO_PXA
  	help
- 	  Say yes here to support GPIO on Rockchip SoCs.
+ 	  Say yes here to support the PXA GPIO device.
  
 +config GPIO_RB91X_KEY
 +	tristate "MikroTik RB91x board series reset key support"
 +	depends on ATH79
 +
- config GPIO_SAMA5D2_PIOBU
- 	tristate "SAMA5D2 PIOBU GPIO support"
- 	depends on MFD_SYSCON
+ config GPIO_RCAR
+ 	tristate "Renesas R-Car and RZ/G GPIO support"
+ 	depends on ARCH_RENESAS || COMPILE_TEST
 --- a/drivers/gpio/Makefile
 +++ b/drivers/gpio/Makefile
-@@ -81,6 +81,7 @@ obj-$(CONFIG_GPIO_IXP4XX)		+= gpio-ixp4x
+@@ -84,6 +84,7 @@ obj-$(CONFIG_GPIO_IXP4XX)		+= gpio-ixp4x
  obj-$(CONFIG_GPIO_JANZ_TTL)		+= gpio-janz-ttl.o
  obj-$(CONFIG_GPIO_KEMPLD)		+= gpio-kempld.o
  obj-$(CONFIG_GPIO_LATCH)		+= gpio-latch.o
@@ -63,7 +63,7 @@ Tested-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
  obj-$(CONFIG_GPIO_LJCA) 		+= gpio-ljca.o
  obj-$(CONFIG_GPIO_LOGICVC)		+= gpio-logicvc.o
  obj-$(CONFIG_GPIO_LOONGSON1)		+= gpio-loongson1.o
-@@ -132,6 +133,7 @@ obj-$(CONFIG_GPIO_PMIC_EIC_SPRD)	+= gpio
+@@ -137,6 +138,7 @@ obj-$(CONFIG_GPIO_PMIC_EIC_SPRD)	+= gpio
  obj-$(CONFIG_GPIO_PXA)			+= gpio-pxa.o
  obj-$(CONFIG_GPIO_RASPBERRYPI_EXP)	+= gpio-raspberrypi-exp.o
  obj-$(CONFIG_GPIO_RB4XX)		+= gpio-rb4xx.o
@@ -73,7 +73,7 @@ Tested-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
  obj-$(CONFIG_GPIO_RDA)			+= gpio-rda.o
 --- a/drivers/mtd/nand/raw/Kconfig
 +++ b/drivers/mtd/nand/raw/Kconfig
-@@ -557,4 +557,10 @@ config MTD_NAND_RB4XX
+@@ -563,4 +563,10 @@ config MTD_NAND_RB4XX
  	  Enables support for the NAND flash chip on Mikrotik Routerboard
  	  RB4xx series.
  
@@ -86,7 +86,7 @@ Tested-by: Koen Vandeputte <koen.vandeputte at ncentric.com>
  endif # MTD_RAW_NAND
 --- a/drivers/mtd/nand/raw/Makefile
 +++ b/drivers/mtd/nand/raw/Makefile
-@@ -59,6 +59,7 @@ obj-$(CONFIG_MTD_NAND_PL35X)		+= pl35x-n
+@@ -60,6 +60,7 @@ obj-$(CONFIG_MTD_NAND_PL35X)		+= pl35x-n
  obj-$(CONFIG_MTD_NAND_RENESAS)		+= renesas-nand-controller.o
  obj-$(CONFIG_MTD_NAND_AR934X)		+= ar934x_nand.o
  obj-$(CONFIG_MTD_NAND_RB4XX)		+= nand_rb4xx.o




More information about the lede-commits mailing list