[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