]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
kernel: bump 6.18 to 6.18.35 23722/head
authorJohn Audia <therealgraysky@proton.me>
Tue, 9 Jun 2026 12:42:01 +0000 (08:42 -0400)
committerJonas Jelonek <jelonek.jonas@gmail.com>
Fri, 12 Jun 2026 20:15:32 +0000 (22:15 +0200)
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.35

Removed upstreamed:
  microchipsw/patches-6.18/0009-v7.2-net-phy-micrel-fix-LAN8814-QSGMII-soft-reset.patch[1]

All other patches automatically rebased via update_kernel.sh

1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.35&id=58b2c0f096b36a93e1975b6fa7f8d629e6fd9425

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/23722
Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
12 files changed:
target/linux/airoha/patches-6.18/886-uart-add-en7523-support.patch
target/linux/ath79/patches-6.18/900-unaligned_access_hacks.patch
target/linux/generic/kernel-6.18
target/linux/generic/pending-6.18/640-net-bridge-fix-switchdev-host-mdb-entry-updates.patch
target/linux/generic/pending-6.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/pending-6.18/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch
target/linux/ipq40xx/patches-6.18/701-net-dsa-add-out-of-band-tagging-protocol.patch
target/linux/mediatek/patches-6.18/410-bt-mtk-serial-fix.patch
target/linux/mediatek/patches-6.18/433-drivers-spi-mem-Add-spi-calibration-hook.patch
target/linux/microchipsw/patches-6.18/0009-v7.2-net-phy-micrel-fix-LAN8814-QSGMII-soft-reset.patch [deleted file]
target/linux/pistachio/patches-6.18/401-mtd-nor-support-mtd-name-from-device-tree.patch
target/linux/starfive/patches-6.18/0009-uart-8250-Add-dw-auto-flow-ctrl-support.patch

index db613856b5efd0c553a5de9e2537a39e0a8d183b..4a94fb494535404da51d875d5205e95c76721ed3 100644 (file)
  };
  
  /* Uart divisor latch read */
-@@ -2766,6 +2774,12 @@ serial8250_do_set_termios(struct uart_po
+@@ -2769,6 +2777,12 @@ serial8250_do_set_termios(struct uart_po
        baud = serial8250_get_baud_rate(port, termios, old);
        quot = serial8250_get_divisor(port, baud, &frac);
  
index 1e6471aee9e1ea1d056dd9b9a71f8bfe946289b8..0938cdfe9aa0596bd616ba32ac08072b5e22e341 100644 (file)
@@ -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
+@@ -891,12 +891,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
-@@ -1002,7 +1002,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
+@@ -1006,7 +1006,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
                goto drop;
        }
  
index ccd85ab5bbb1cc9fad8cda969053dcc7a2588303..b268a2d8f1bf31ee07867a28b85053a4773fab4e 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.18 = .34
-LINUX_KERNEL_HASH-6.18.34 = 640c4732fb42842166db97e032c1fe7e5ff72c85a8982c75b40f74be3555d760
+LINUX_VERSION-6.18 = .35
+LINUX_KERNEL_HASH-6.18.35 = f78602932219125e211c5f5bfd84edcfd4ec5ce88fc944f8248413f665bef236
index bf8af7c3f9f5a3992e5337b1da77c782c872a297..cab539833bb1cbb1cfde21cb60f5f91b466a20b2 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/bridge/br_switchdev.c
 +++ b/net/bridge/br_switchdev.c
-@@ -576,10 +576,18 @@ static void br_switchdev_host_mdb(struct
+@@ -575,10 +575,18 @@ static void br_switchdev_host_mdb(struct
                                  struct net_bridge_mdb_entry *mp, int type)
  {
        struct net_device *lower_dev;
index 9a660b9f105ebb673a574fee9e8247992d7d1a70..08e20df6b7cdbee258a5b0bb3c808a0859db41d7 100644 (file)
@@ -138,7 +138,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  static const struct rt6_info ip6_blk_hole_entry_template = {
        .dst = {
                .__rcuref       = RCUREF_INIT(1),
-@@ -1085,6 +1099,7 @@ static const int fib6_prop[RTN_MAX + 1]
+@@ -1088,6 +1102,7 @@ static const int fib6_prop[RTN_MAX + 1]
        [RTN_BLACKHOLE] = -EINVAL,
        [RTN_UNREACHABLE] = -EHOSTUNREACH,
        [RTN_PROHIBIT]  = -EACCES,
@@ -146,7 +146,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        [RTN_THROW]     = -EAGAIN,
        [RTN_NAT]       = -EINVAL,
        [RTN_XRESOLVE]  = -EINVAL,
-@@ -1120,6 +1135,10 @@ static void ip6_rt_init_dst_reject(struc
+@@ -1123,6 +1138,10 @@ static void ip6_rt_init_dst_reject(struc
                rt->dst.output = ip6_pkt_prohibit_out;
                rt->dst.input = ip6_pkt_prohibit;
                break;
@@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        case RTN_THROW:
        case RTN_UNREACHABLE:
        default:
-@@ -4654,6 +4673,17 @@ static int ip6_pkt_prohibit_out(struct n
+@@ -4657,6 +4676,17 @@ static int ip6_pkt_prohibit_out(struct n
        return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
  }
  
@@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  /*
   *    Allocate a dst for local (unicast / anycast) address.
   */
-@@ -5206,7 +5236,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -5209,7 +5239,8 @@ static int rtm_to_fib6_config(struct sk_
        if (rtm->rtm_type == RTN_UNREACHABLE ||
            rtm->rtm_type == RTN_BLACKHOLE ||
            rtm->rtm_type == RTN_PROHIBIT ||
@@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                cfg->fc_flags |= RTF_REJECT;
  
        if (rtm->rtm_type == RTN_LOCAL)
-@@ -6475,6 +6506,8 @@ static int ip6_route_dev_notify(struct n
+@@ -6480,6 +6511,8 @@ static int ip6_route_dev_notify(struct n
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
                net->ipv6.ip6_prohibit_entry->dst.dev = dev;
                net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
                net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
  #endif
-@@ -6486,6 +6519,7 @@ static int ip6_route_dev_notify(struct n
+@@ -6491,6 +6524,7 @@ static int ip6_route_dev_notify(struct n
                in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
                in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
@@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
                in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
  #endif
        }
-@@ -6681,6 +6715,8 @@ static int __net_init ip6_route_net_init
+@@ -6686,6 +6720,8 @@ static int __net_init ip6_route_net_init
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
        net->ipv6.fib6_has_custom_rules = false;
@@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
                                               sizeof(*net->ipv6.ip6_prohibit_entry),
                                               GFP_KERNEL);
-@@ -6691,11 +6727,21 @@ static int __net_init ip6_route_net_init
+@@ -6696,11 +6732,21 @@ static int __net_init ip6_route_net_init
                         ip6_template_metrics, true);
        INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->dst.rt_uncached);
  
@@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
        dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
                         ip6_template_metrics, true);
-@@ -6722,6 +6768,8 @@ out:
+@@ -6727,6 +6773,8 @@ out:
        return ret;
  
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  out_ip6_prohibit_entry:
        kfree(net->ipv6.ip6_prohibit_entry);
  out_ip6_null_entry:
-@@ -6741,6 +6789,7 @@ static void __net_exit ip6_route_net_exi
+@@ -6746,6 +6794,7 @@ static void __net_exit ip6_route_net_exi
        kfree(net->ipv6.ip6_null_entry);
  #ifdef CONFIG_IPV6_MULTIPLE_TABLES
        kfree(net->ipv6.ip6_prohibit_entry);
@@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
        kfree(net->ipv6.ip6_blk_hole_entry);
  #endif
        dst_entries_destroy(&net->ipv6.ip6_dst_ops);
-@@ -6824,6 +6873,9 @@ void __init ip6_route_init_special_entri
+@@ -6829,6 +6878,9 @@ void __init ip6_route_init_special_entri
        init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
        init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
        init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
index 80a1f6fedf8843d6585149deefeb6e16dc6bea76..034675f951186728c971748ec26baf79a2c14e80 100644 (file)
@@ -56,7 +56,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                        if (p->br->stp_enabled == BR_NO_STP ||
 --- a/net/bridge/br_sysfs_if.c
 +++ b/net/bridge/br_sysfs_if.c
-@@ -240,6 +240,7 @@ BRPORT_ATTR_FLAG(multicast_flood, BR_MCA
+@@ -258,6 +258,7 @@ BRPORT_ATTR_FLAG(multicast_flood, BR_MCA
  BRPORT_ATTR_FLAG(broadcast_flood, BR_BCAST_FLOOD);
  BRPORT_ATTR_FLAG(neigh_suppress, BR_NEIGH_SUPPRESS);
  BRPORT_ATTR_FLAG(isolated, BR_ISOLATED);
@@ -64,7 +64,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  #ifdef CONFIG_BRIDGE_IGMP_SNOOPING
  static ssize_t show_multicast_router(struct net_bridge_port *p, char *buf)
-@@ -292,6 +293,7 @@ static const struct brport_attribute *br
+@@ -310,6 +311,7 @@ static const struct brport_attribute *br
        &brport_attr_group_fwd_mask,
        &brport_attr_neigh_suppress,
        &brport_attr_isolated,
index fe5457d829064160a3e5ef2a2c28da67c27cc89c..de5435c590c465a62d2f69098ec80f48db656f8f 100644 (file)
@@ -136,7 +136,7 @@ Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
  #include <net/dst.h>
  #include <net/sock.h>
  #include <net/checksum.h>
-@@ -5089,6 +5093,9 @@ static const u8 skb_ext_type_len[] = {
+@@ -5112,6 +5116,9 @@ static const u8 skb_ext_type_len[] = {
  #if IS_ENABLED(CONFIG_INET_PSP)
        [SKB_EXT_PSP] = SKB_EXT_CHUNKSIZEOF(struct psp_skb_ext),
  #endif
index 9550723c78d95741a94e41680f35899770dd88d9..1ad4005acc035ef57cf037211da50f6b91a93495 100644 (file)
@@ -31,7 +31,7 @@ Signed-off-by: John Crispin <john@phrozen.org>
        },
        [PORT_NPCM] = {
                .name           = "Nuvoton 16550",
-@@ -2766,6 +2766,11 @@ serial8250_do_set_termios(struct uart_po
+@@ -2769,6 +2769,11 @@ serial8250_do_set_termios(struct uart_po
        baud = serial8250_get_baud_rate(port, termios, old);
        quot = serial8250_get_divisor(port, baud, &frac);
  
index e7b916e16922bfa5a9ae17c10024454c0e656121..465fa557b8d27de3afcf9d9d7e8a8ff9061f91dd 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: SkyLake.Huang <skylake.huang@mediatek.com>
 
 --- a/drivers/spi/spi-mem.c
 +++ b/drivers/spi/spi-mem.c
-@@ -511,6 +511,14 @@ int spi_mem_exec_op(struct spi_mem *mem,
+@@ -518,6 +518,14 @@ int spi_mem_exec_op(struct spi_mem *mem,
  }
  EXPORT_SYMBOL_GPL(spi_mem_exec_op);
  
diff --git a/target/linux/microchipsw/patches-6.18/0009-v7.2-net-phy-micrel-fix-LAN8814-QSGMII-soft-reset.patch b/target/linux/microchipsw/patches-6.18/0009-v7.2-net-phy-micrel-fix-LAN8814-QSGMII-soft-reset.patch
deleted file mode 100644 (file)
index 9d5c17a..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-From e027c218c482c6a0ae1948129ccda3b0a2033368 Mon Sep 17 00:00:00 2001
-From: Robert Marko <robert.marko@sartura.hr>
-Date: Tue, 28 Apr 2026 15:41:01 +0200
-Subject: [PATCH] net: phy: micrel: fix LAN8814 QSGMII soft reset
-
-LAN8814 QSGMII soft reset was moved into the probe function to avoid
-triggering it for each of 4 PHY-s in the package.
-
-However, that broke QSGMII link between the MAC and PHY on most LAN8814
-PHY-s, specificaly for us on the Microchip LAN969x switch.
-Reading the QSGMII status registers it was visible that lanes were only
-partially synced.
-
-It looks like the reset timing is crucial, so lets move the reset back
-into the .config_init function but guard it with phy_package_init_once()
-to avoid it being triggered on each of 4 PHY-s in the package.
-Change the probe function to use phy_package_probe_once() for coma and PtP
-setup.
-
-Fixes: 96a9178a29a6 ("net: phy: micrel: lan8814 fix reset of the QSGMII interface")
-Signed-off-by: Robert Marko <robert.marko@sartura.hr>
-Link: https://patch.msgid.link/20260428134138.1741253-1-robert.marko@sartura.hr
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
----
- drivers/net/phy/micrel.c | 15 ++++++++-------
- 1 file changed, 8 insertions(+), 7 deletions(-)
-
---- a/drivers/net/phy/micrel.c
-+++ b/drivers/net/phy/micrel.c
-@@ -4389,6 +4389,13 @@ static int lan8814_config_init(struct ph
- {
-       struct kszphy_priv *lan8814 = phydev->priv;
-+      if (phy_package_init_once(phydev))
-+              /* Reset the PHY */
-+              lanphy_modify_page_reg(phydev, LAN8814_PAGE_COMMON_REGS,
-+                                     LAN8814_QSGMII_SOFT_RESET,
-+                                     LAN8814_QSGMII_SOFT_RESET_BIT,
-+                                     LAN8814_QSGMII_SOFT_RESET_BIT);
-+
-       /* Disable ANEG with QSGMII PCS Host side */
-       lanphy_modify_page_reg(phydev, LAN8814_PAGE_PORT_REGS,
-                              LAN8814_QSGMII_PCS1G_ANEG_CONFIG,
-@@ -4473,13 +4480,7 @@ static int lan8814_probe(struct phy_devi
-       devm_phy_package_join(&phydev->mdio.dev, phydev,
-                             addr, sizeof(struct lan8814_shared_priv));
--      if (phy_package_init_once(phydev)) {
--              /* Reset the PHY */
--              lanphy_modify_page_reg(phydev, LAN8814_PAGE_COMMON_REGS,
--                                     LAN8814_QSGMII_SOFT_RESET,
--                                     LAN8814_QSGMII_SOFT_RESET_BIT,
--                                     LAN8814_QSGMII_SOFT_RESET_BIT);
--
-+      if (phy_package_probe_once(phydev)) {
-               err = lan8814_release_coma_mode(phydev);
-               if (err)
-                       return err;
index 7e3e37bd3137d9a2f7c1c2dcdb23b790a816ba77..dfbc2e8368bfcf5eed114e6bc8da375478ba6050 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
 
 --- a/drivers/spi/spi-mem.c
 +++ b/drivers/spi/spi-mem.c
-@@ -1016,7 +1016,9 @@ static int spi_mem_probe(struct spi_devi
+@@ -1023,7 +1023,9 @@ static int spi_mem_probe(struct spi_devi
  {
        struct spi_mem_driver *memdrv = to_spi_mem_drv(spi->dev.driver);
        struct spi_controller *ctlr = spi->controller;
@@ -20,7 +20,7 @@ Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.Vishwakarma@imgtec.com>
  
        mem = devm_kzalloc(&spi->dev, sizeof(*mem), GFP_KERNEL);
        if (!mem)
-@@ -1024,10 +1026,15 @@ static int spi_mem_probe(struct spi_devi
+@@ -1031,10 +1033,15 @@ static int spi_mem_probe(struct spi_devi
  
        mem->spi = spi;
  
index 9383402793fdb6660eb1e606a2f89282f67460bb..155d31e169bc46d799ad1fdf55de10696e785167 100644 (file)
@@ -67,7 +67,7 @@ Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
  }
  
  /*
-@@ -2565,7 +2578,6 @@ static unsigned int serial8250_get_baud_
+@@ -2568,7 +2581,6 @@ static unsigned int serial8250_get_baud_
                min = port->uartclk / 16 / UART_DIV_MAX;
                max = (port->uartclk + tolerance) / 16;
        }