]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
kernel: bump 6.12 to 6.12.97
authorShiji Yang <yangshiji66@outlook.com>
Fri, 24 Jul 2026 22:52:39 +0000 (06:52 +0800)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 29 Jul 2026 00:04:13 +0000 (02:04 +0200)
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.97

Upstream merged patches:
- generic/backport-6.12/200-01-v6.13-jiffies-Define-secs_to_jiffies.patch[1]
- generic/backport-6.12/200-02-v6.14-jiffies-Cast-to-unsigned-long-in-secs_to_jiffies-con.patch[2]
- generic/backport-6.12/752-v7.2-net-dsa-qca8k-fix-led-devicename-when-using-external.patch[3]

Manually rebased patches:
- bcm27xx/patches-6.12/950-0358-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clocks.patch[4]
- generic/backport-6.12/906-v6.17-PCI-dwc-Switch-to-msi_create_parent_irq_domain.patch[5]
- loongarch64/patches-6.12/004-v6.17-LoongArch-BPF-Add-basic-bpf-trampoline-support.patch[6-7]

New kconfig symbol:
- DEBUG_NET_SMALL_RTNL[8]

All other patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.97&id=5dc96cd938181dec01c77445c39da26f645e10e5
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.97&id=b17b73e1178aced9006b887e67e8b88fed0a08c9
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.97&id=562a838a689b6080a977deeb706a18ae8d7774a1
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.97&id=5ca45195c78bc13e5e7fad8e9c1ccfaf2859699a
[5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.97&id=a44c473ba778b05f9bf0f4873271fab0cec6981a
[6] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.97&id=8ea20054e8d40a51c82ac4ef625e24a11cf1c0a7
[7] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-6.18.y&id=666fc2e6e4d0a37592e5a3029deddc272e10df1e
[8] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.97&&id=54ddb19c3d7a625d80364fd526af8849ba61e8aa
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/24081
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
44 files changed:
target/linux/bcm27xx/patches-6.12/950-0057-MMC-added-alternative-MMC-driver.patch
target/linux/bcm27xx/patches-6.12/950-0094-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch
target/linux/bcm27xx/patches-6.12/950-0096-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch
target/linux/bcm27xx/patches-6.12/950-0097-net-lan78xx-Ack-pending-PHY-ints-when-resetting.patch
target/linux/bcm27xx/patches-6.12/950-0098-Patching-lan78xx-for-SOF_TIMESTAMPING_TX_SOFTWARE-su.patch
target/linux/bcm27xx/patches-6.12/950-0099-lan78xx-Enable-LEDs-and-auto-negotiation.patch
target/linux/bcm27xx/patches-6.12/950-0122-bcmgenet-Better-coalescing-parameter-defaults.patch
target/linux/bcm27xx/patches-6.12/950-0130-drm-v3d-Clock-V3D-down-when-not-in-use.patch
target/linux/bcm27xx/patches-6.12/950-0133-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch
target/linux/bcm27xx/patches-6.12/950-0167-bcmgenet-Disable-skip_umac_reset-by-default.patch
target/linux/bcm27xx/patches-6.12/950-0297-net-bcmgenet-Add-eee-module-parameter.patch
target/linux/bcm27xx/patches-6.12/950-0322-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch
target/linux/bcm27xx/patches-6.12/950-0358-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clocks.patch
target/linux/bcm27xx/patches-6.12/950-0369-hwmon-Add-RP1-ADC-and-temperature-driver.patch
target/linux/bcm27xx/patches-6.12/950-0476-lan78xx-Read-initial-EEE-status-from-DT.patch
target/linux/bcm27xx/patches-6.12/950-0477-lan78xx-Return-tx_lpi_timer-even-if-disabled.patch
target/linux/bcm27xx/patches-6.12/950-0502-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch
target/linux/bcm27xx/patches-6.12/950-0775-drm-v3d-Add-DRM_IOCTL_V3D_PERFMON_SET_GLOBAL.patch
target/linux/generic/backport-6.12/200-01-v6.13-jiffies-Define-secs_to_jiffies.patch [deleted file]
target/linux/generic/backport-6.12/200-02-v6.14-jiffies-Cast-to-unsigned-long-in-secs_to_jiffies-con.patch [deleted file]
target/linux/generic/backport-6.12/700-02-v7.0-net-sched-sch_cake-Factor-out-config-variables-into-.patch
target/linux/generic/backport-6.12/700-03-v7.0-net-sched-sch_cake-Add-cake_mq-qdisc-for-using-cake-.patch
target/linux/generic/backport-6.12/700-04-v7.0-net-sched-sch_cake-Share-config-across-cake_mq-sub-q.patch
target/linux/generic/backport-6.12/700-05-v7.0-net-sched-sch_cake-share-shaper-state-across-sub-ins.patch
target/linux/generic/backport-6.12/700-07-v7.0-net-sched-cake-avoid-separate-allocation-of-struct-c.patch
target/linux/generic/backport-6.12/701-01-v7.0-net-sched-sch_cake-avoid-sync-overhead-when-unlimite.patch
target/linux/generic/backport-6.12/701-02-v7.0-net-sched-sch_cake-fixup-cake_mq-rate-adjustment-for.patch
target/linux/generic/backport-6.12/752-v7.2-net-dsa-qca8k-fix-led-devicename-when-using-external.patch [deleted file]
target/linux/generic/backport-6.12/906-v6.17-PCI-dwc-Switch-to-msi_create_parent_irq_domain.patch
target/linux/generic/config-6.12
target/linux/generic/hack-6.12/205-kconfig-abort-configuration-on-unset-symbol.patch
target/linux/generic/hack-6.12/645-netfilter-connmark-introduce-set-dscpmark.patch
target/linux/generic/hack-6.12/660-fq_codel_defaults.patch
target/linux/generic/hack-6.12/661-kernel-ct-size-the-hashtable-more-adequately.patch
target/linux/generic/hack-6.12/710-net-sched-sch_cake-configure-sync_time-via-debugfs.patch
target/linux/generic/kernel-6.12
target/linux/generic/pending-6.12/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch
target/linux/generic/pending-6.12/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
target/linux/generic/pending-6.12/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch
target/linux/generic/pending-6.12/736-05-net-ethernet-mtk_eth_soc-zero-initialize-PPE-flow-ta.patch
target/linux/generic/pending-6.12/812-PCI-sysfs-enforce-single-creation-of-sysfs-entry-for.patch
target/linux/generic/pending-6.12/834-ledtrig-libata.patch
target/linux/loongarch64/patches-6.12/004-v6.17-LoongArch-BPF-Add-basic-bpf-trampoline-support.patch
target/linux/qualcommax/patches-6.12/0047-v6.16-PCI-qcom-Add-support-for-IPQ5018.patch

index 748eb2b7cc1c7a5a552c6ecc8f1bbd38bbf9b2c8..eec17cacd03a681fd42c93eea1f9136afe074872 100644 (file)
@@ -285,7 +285,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
  static inline int mmc_blk_part_switch(struct mmc_card *card,
                                      unsigned int part_type);
  static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq,
-@@ -3321,6 +3328,8 @@ static int mmc_blk_probe(struct mmc_card
+@@ -3320,6 +3327,8 @@ static int mmc_blk_probe(struct mmc_card
  {
        struct mmc_blk_data *md;
        int ret = 0;
@@ -294,7 +294,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
  
        /*
         * Check that the card supports the command class(es) we need.
-@@ -3328,7 +3337,16 @@ static int mmc_blk_probe(struct mmc_card
+@@ -3327,7 +3336,16 @@ static int mmc_blk_probe(struct mmc_card
        if (!(card->csd.cmdclass & CCC_BLOCK_READ))
                return -ENODEV;
  
@@ -312,7 +312,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
  
        card->complete_wq = alloc_workqueue("mmc_complete",
                                        WQ_MEM_RECLAIM | WQ_HIGHPRI, 0);
-@@ -3343,6 +3361,17 @@ static int mmc_blk_probe(struct mmc_card
+@@ -3342,6 +3360,17 @@ static int mmc_blk_probe(struct mmc_card
                goto out_free;
        }
  
index 930c7493ae78a2bb5ea3f72ff3314eaed284d309..1823c046784e7d039bde9ef10ebd55357ea5deb1 100644 (file)
@@ -37,7 +37,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
  static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
  {
        u32 *buf;
-@@ -3466,8 +3475,14 @@ static int lan78xx_bind(struct lan78xx_n
+@@ -3476,8 +3485,14 @@ static int lan78xx_bind(struct lan78xx_n
        if (DEFAULT_RX_CSUM_ENABLE)
                dev->net->features |= NETIF_F_RXCSUM;
  
index 9dd0937ddcc37503d665e4a2f8df9d03a395f6f8..d4edd6ccdb620802cebc7914b95239fbf726d0c6 100644 (file)
@@ -28,7 +28,7 @@ See: https://github.com/raspberrypi/linux/issues/2447
  static int lan78xx_read_reg(struct lan78xx_net *dev, u32 index, u32 *data)
  {
        u32 *buf;
-@@ -4452,7 +4457,13 @@ static int lan78xx_probe(struct usb_inte
+@@ -4462,7 +4467,13 @@ static int lan78xx_probe(struct usb_inte
        if (ret < 0)
                goto out4;
  
index 5dd8395b9bcaf18bceeb64770cab8af9a2797a5e..e99010fbc88cd3dfa96d3b2797f1cfe064b9d9cc 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/drivers/net/usb/lan78xx.c
 +++ b/drivers/net/usb/lan78xx.c
-@@ -1435,6 +1435,9 @@ static int lan78xx_link_reset(struct lan
+@@ -1598,6 +1598,9 @@ static int lan78xx_link_reset(struct lan
        if (unlikely(ret < 0))
                return ret;
  
index de734ca0c7e08c3231dbc5fe9d88fb0f2b921fcf..328d992fdd24e993cbc4695e9ab2f4e8c79e2bdc 100644 (file)
@@ -9,7 +9,7 @@ Subject: [PATCH] Patching lan78xx for SOF_TIMESTAMPING_TX_SOFTWARE support
 
 --- a/drivers/net/usb/lan78xx.c
 +++ b/drivers/net/usb/lan78xx.c
-@@ -1935,6 +1935,7 @@ static const struct ethtool_ops lan78xx_
+@@ -2098,6 +2098,7 @@ static const struct ethtool_ops lan78xx_
        .set_link_ksettings = lan78xx_set_link_ksettings,
        .get_regs_len   = lan78xx_get_regs_len,
        .get_regs       = lan78xx_get_regs,
index a92714c493f36701b05997aa27c9c29218526790..59aa9962856a6a30a042f855c7cf464170b15c35 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/net/usb/lan78xx.c
 +++ b/drivers/net/usb/lan78xx.c
-@@ -2917,6 +2917,11 @@ static int lan78xx_reset(struct lan78xx_
+@@ -2927,6 +2927,11 @@ static int lan78xx_reset(struct lan78xx_
        int ret;
        u32 buf;
        u8 sig;
@@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  
        ret = lan78xx_read_reg(dev, HW_CFG, &buf);
        if (ret < 0)
-@@ -2985,6 +2990,10 @@ static int lan78xx_reset(struct lan78xx_
+@@ -2995,6 +3000,10 @@ static int lan78xx_reset(struct lan78xx_
        buf |= HW_CFG_CLK125_EN_;
        buf |= HW_CFG_REFCLK25_EN_;
  
@@ -37,7 +37,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
        ret = lan78xx_write_reg(dev, HW_CFG, buf);
        if (ret < 0)
                return ret;
-@@ -3087,6 +3096,9 @@ static int lan78xx_reset(struct lan78xx_
+@@ -3097,6 +3106,9 @@ static int lan78xx_reset(struct lan78xx_
                        buf |= MAC_CR_AUTO_DUPLEX_ | MAC_CR_AUTO_SPEED_;
                }
        }
index c521f1ecedb06be1d6f552b0d6a6e16fdb598537..a00e2af24a9ba48edbf875124d60bfa8512a26c9 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
 +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-@@ -2674,7 +2674,7 @@ static void bcmgenet_init_tx_ring(struct
+@@ -2666,7 +2666,7 @@ static void bcmgenet_init_tx_ring(struct
  
        bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX);
        bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX);
@@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
        /* Disable rate control for now */
        bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
                                  TDMA_FLOW_PERIOD);
-@@ -4073,8 +4073,10 @@ static int bcmgenet_probe(struct platfor
+@@ -4066,8 +4066,10 @@ static int bcmgenet_probe(struct platfor
        netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
  
        /* Set default coalescing parameters */
index 3a733d13fb55dae6b5304c43c8a1fddd9f12d1ac..a3d6656df33a731ed19836d560ce5c605ae68f74 100644 (file)
@@ -187,7 +187,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
        kref_init(&job->refcount);
  
        return 0;
-@@ -1414,3 +1459,14 @@ fail:
+@@ -1416,3 +1461,14 @@ fail:
  
        return ret;
  }
index c044b2ae2e1423199ade9fab73634f841b37f4cd..c4506f5ef579feccb767a0154d7ce467e6642d6c 100644 (file)
@@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
 +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-@@ -65,6 +65,9 @@
+@@ -64,6 +64,9 @@
  
  /* Forward declarations */
  static void bcmgenet_set_rx_mode(struct net_device *dev);
@@ -37,7 +37,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
  
  static inline void bcmgenet_writel(u32 value, void __iomem *offset)
  {
-@@ -2512,6 +2515,11 @@ static void reset_umac(struct bcmgenet_p
+@@ -2504,6 +2507,11 @@ static void reset_umac(struct bcmgenet_p
        bcmgenet_rbuf_ctrl_set(priv, 0);
        udelay(10);
  
index e0cd4c2249b916d24e8b43684693de03bf6c9723..16d244e32428f4fdf0fcf92d74cfb0c1b885ed0f 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
 
 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
 +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-@@ -65,7 +65,7 @@
+@@ -64,7 +64,7 @@
  
  /* Forward declarations */
  static void bcmgenet_set_rx_mode(struct net_device *dev);
index 4b8942dddefe1f2537bd35187a17c91ff9d29447..be4feb4c72b89c5742da73b98a42da49490d265f 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
 +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
-@@ -68,6 +68,9 @@ static void bcmgenet_set_rx_mode(struct
+@@ -67,6 +67,9 @@ static void bcmgenet_set_rx_mode(struct
  static bool skip_umac_reset = false;
  module_param(skip_umac_reset, bool, 0444);
  MODULE_PARM_DESC(skip_umac_reset, "Skip UMAC reset step");
@@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
  
  static inline void bcmgenet_writel(u32 value, void __iomem *offset)
  {
-@@ -3359,6 +3362,17 @@ static int bcmgenet_open(struct net_devi
+@@ -3352,6 +3355,17 @@ static int bcmgenet_open(struct net_devi
  
        bcmgenet_phy_pause_set(dev, priv->rx_pause, priv->tx_pause);
  
index b50b49f2a4f9fde793891fe5008480720a87cc2f..d7a6e65a4c05157398e381a6249035d4ed113eeb 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/net/bluetooth/hci_sync.c
 +++ b/net/bluetooth/hci_sync.c
-@@ -4961,6 +4961,7 @@ static const struct {
+@@ -4985,6 +4985,7 @@ static const struct {
   */
  static int hci_dev_setup_sync(struct hci_dev *hdev)
  {
@@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
        int ret = 0;
        bool invalid_bdaddr;
        size_t i;
-@@ -4989,7 +4990,8 @@ static int hci_dev_setup_sync(struct hci
+@@ -5013,7 +5014,8 @@ static int hci_dev_setup_sync(struct hci
                         test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks);
        if (!ret) {
                if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) &&
index a9ee1ad96c01d1055921bf11220761985fb0ec77..b47fab36dfe7d8eeacf0c98ea2df4373bfde0f61 100644 (file)
@@ -101,47 +101,66 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
                .compatible = "rockchip,rk3588-dwcmshc",
                .data = &sdhci_dwcmshc_rk35xx_pdata,
        },
-@@ -1470,13 +1498,32 @@ static int dwcmshc_probe(struct platform
-               priv->bus_clk = devm_clk_get(dev, "bus");
-               if (!IS_ERR(priv->bus_clk))
-                       clk_prepare_enable(priv->bus_clk);
+@@ -1473,13 +1501,32 @@ static int dwcmshc_probe(struct platform
+                       if (err)
+                               goto err_clk;
+               }
 +
 +              pltfm_host->timeout_clk = devm_clk_get(dev, "timeout");
 +              if (!IS_ERR(pltfm_host->timeout_clk))
 +                      err = clk_prepare_enable(pltfm_host->timeout_clk);
 +              if (err)
-+                      goto free_pltfm;
++                      goto err_bus_clk;
 +
 +              priv->sdio_clk = devm_clk_get_optional(&pdev->dev, "sdio");
-+      }
-+
+       }
+-      err = mmc_of_parse(host->mmc);
 +      pltfm_host->timeout_clk = devm_clk_get(&pdev->dev, "timeout");
 +      if (IS_ERR(pltfm_host->timeout_clk)) {
 +              err = PTR_ERR(pltfm_host->timeout_clk);
 +              dev_err(&pdev->dev, "failed to get timeout clk: %d\n", err);
-+              goto free_pltfm;
-       }
++              goto err_bus_clk;
++      }
 +      err = clk_prepare_enable(pltfm_host->timeout_clk);
-+      if (err)
-+              goto free_pltfm;
-       err = mmc_of_parse(host->mmc);
        if (err)
-               goto err_clk;
+               goto err_bus_clk;
  
++      err = mmc_of_parse(host->mmc);
++      if (err)
++              goto err_timeout_clk;
++
        sdhci_get_of_property(pdev);
 +      sdhci_enable_v4_mode(host);
  
        priv->vendor_specific_area1 =
                sdhci_readl(host, DWCMSHC_P_VENDOR_AREA1) & DWCMSHC_AREA1_MASK;
-@@ -1536,6 +1583,7 @@ err_rpm:
+@@ -1491,7 +1538,7 @@ static int dwcmshc_probe(struct platform
+       if (pltfm_data->init) {
+               err = pltfm_data->init(&pdev->dev, host, priv);
+               if (err)
+-                      goto err_bus_clk;
++                      goto err_timeout_clk;
+       }
+ #ifdef CONFIG_ACPI
+@@ -1537,6 +1584,8 @@ err_setup_host:
+ err_rpm:
+       pm_runtime_disable(dev);
        pm_runtime_put_noidle(dev);
++err_timeout_clk:
++      clk_disable_unprepare(pltfm_host->timeout_clk);
+ err_bus_clk:
+       clk_disable_unprepare(priv->bus_clk);
  err_clk:
+@@ -1574,6 +1623,7 @@ static void dwcmshc_remove(struct platfo
        clk_disable_unprepare(pltfm_host->clk);
-+      clk_disable_unprepare(pltfm_host->timeout_clk);
        clk_disable_unprepare(priv->bus_clk);
++      clk_disable_unprepare(pltfm_host->timeout_clk);
        clk_bulk_disable_unprepare(priv->num_other_clks, priv->other_clks);
- free_pltfm:
+       sdhci_pltfm_free(pdev);
+ }
 --- a/drivers/mmc/host/sdhci-pltfm.c
 +++ b/drivers/mmc/host/sdhci-pltfm.c
 @@ -32,6 +32,14 @@ unsigned int sdhci_pltfm_clk_get_max_clo
index f04d7b78a4d30ef9e69cfbb60a76d8226d0d49de..305a24e271f222ec3253bf608f222e00249f5383 100644 (file)
@@ -21,7 +21,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
 
 --- a/drivers/hwmon/Kconfig
 +++ b/drivers/hwmon/Kconfig
-@@ -2551,6 +2551,13 @@ config SENSORS_INTEL_M10_BMC_HWMON
+@@ -2554,6 +2554,13 @@ config SENSORS_INTEL_M10_BMC_HWMON
          sensors monitor various telemetry data of different components on the
          card, e.g. board temperature, FPGA core temperature/voltage/current.
  
index 9dddcb304a67fa0da6172664a0b930081ed636bc..e9f7ac8a1ef8ac428f60b4081210d0e3535493aa 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/drivers/net/usb/lan78xx.c
 +++ b/drivers/net/usb/lan78xx.c
-@@ -2438,7 +2438,26 @@ static int lan78xx_phy_init(struct lan78
+@@ -2601,7 +2601,26 @@ static int lan78xx_phy_init(struct lan78
        mii_adv_to_linkmode_adv_t(fc, mii_adv);
        linkmode_or(phydev->advertising, fc, phydev->advertising);
  
index 1a3efa35ef435af99e047257cd7c030201e0140d..a6654a617180fa7f410608329fa6803c820ddddd 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/drivers/net/usb/lan78xx.c
 +++ b/drivers/net/usb/lan78xx.c
-@@ -1702,14 +1702,11 @@ static int lan78xx_get_eee(struct net_de
+@@ -1865,14 +1865,11 @@ static int lan78xx_get_eee(struct net_de
        if (ret < 0)
                goto exit;
  
index 98c428e7a8e1e8405a573b1e719ebcbf896254f9..e9fb21c99ab646cd0a049fceef7c586f4f8d7e87 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/net/bluetooth/hci_sync.c
 +++ b/net/bluetooth/hci_sync.c
-@@ -4961,7 +4961,8 @@ static const struct {
+@@ -4985,7 +4985,8 @@ static const struct {
   */
  static int hci_dev_setup_sync(struct hci_dev *hdev)
  {
index c8b74d13b0aac932fc1ebe18cec0f2d157a80fa7..fa5655318ffd19279a80f745da1869a6be003531 100644 (file)
@@ -145,7 +145,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20241202140615.74802-1-chris
  static void
 --- a/drivers/gpu/drm/v3d/v3d_submit.c
 +++ b/drivers/gpu/drm/v3d/v3d_submit.c
-@@ -1050,6 +1050,11 @@ v3d_submit_cl_ioctl(struct drm_device *d
+@@ -1052,6 +1052,11 @@ v3d_submit_cl_ioctl(struct drm_device *d
                goto fail;
  
        if (args->perfmon_id) {
@@ -157,7 +157,7 @@ Link: https://patchwork.freedesktop.org/patch/msgid/20241202140615.74802-1-chris
                render->base.perfmon = v3d_perfmon_find(v3d_priv,
                                                        args->perfmon_id);
  
-@@ -1265,6 +1270,11 @@ v3d_submit_csd_ioctl(struct drm_device *
+@@ -1267,6 +1272,11 @@ v3d_submit_csd_ioctl(struct drm_device *
                goto fail;
  
        if (args->perfmon_id) {
diff --git a/target/linux/generic/backport-6.12/200-01-v6.13-jiffies-Define-secs_to_jiffies.patch b/target/linux/generic/backport-6.12/200-01-v6.13-jiffies-Define-secs_to_jiffies.patch
deleted file mode 100644 (file)
index ad9af1d..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-From b35108a51cf7bab58d7eace1267d7965978bcdb8 Mon Sep 17 00:00:00 2001
-From: Easwar Hariharan <eahariha@linux.microsoft.com>
-Date: Wed, 30 Oct 2024 17:47:35 +0000
-Subject: [PATCH] jiffies: Define secs_to_jiffies()
-
-secs_to_jiffies() is defined in hci_event.c and cannot be reused by
-other call sites. Hoist it into the core code to allow conversion of the
-~1150 usages of msecs_to_jiffies() that either:
-
- - use a multiplier value of 1000 or equivalently MSEC_PER_SEC, or
- - have timeouts that are denominated in seconds (i.e. end in 000)
-
-It's implemented as a macro to allow usage in static initializers.
-
-This will also allow conversion of yet more sites that use (sec * HZ)
-directly, and improve their readability.
-
-Suggested-by: Michael Kelley <mhklinux@outlook.com>
-Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com>
-Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-Reviewed-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-Link: https://lore.kernel.org/all/20241030-open-coded-timeouts-v3-1-9ba123facf88@linux.microsoft.com
----
- include/linux/jiffies.h   | 13 +++++++++++++
- net/bluetooth/hci_event.c |  2 --
- 2 files changed, 13 insertions(+), 2 deletions(-)
-
---- a/include/linux/jiffies.h
-+++ b/include/linux/jiffies.h
-@@ -526,6 +526,19 @@ static __always_inline unsigned long mse
-       }
- }
-+/**
-+ * secs_to_jiffies: - convert seconds to jiffies
-+ * @_secs: time in seconds
-+ *
-+ * Conversion is done by simple multiplication with HZ
-+ *
-+ * secs_to_jiffies() is defined as a macro rather than a static inline
-+ * function so it can be used in static initializers.
-+ *
-+ * Return: jiffies value
-+ */
-+#define secs_to_jiffies(_secs) ((_secs) * HZ)
-+
- extern unsigned long __usecs_to_jiffies(const unsigned int u);
- #if !(USEC_PER_SEC % HZ)
- static inline unsigned long _usecs_to_jiffies(const unsigned int u)
---- a/net/bluetooth/hci_event.c
-+++ b/net/bluetooth/hci_event.c
-@@ -42,8 +42,6 @@
- #define ZERO_KEY "\x00\x00\x00\x00\x00\x00\x00\x00" \
-                "\x00\x00\x00\x00\x00\x00\x00\x00"
--#define secs_to_jiffies(_secs) msecs_to_jiffies((_secs) * 1000)
--
- /* Handle HCI Event packets */
- static void *hci_ev_skb_pull(struct hci_dev *hdev, struct sk_buff *skb,
diff --git a/target/linux/generic/backport-6.12/200-02-v6.14-jiffies-Cast-to-unsigned-long-in-secs_to_jiffies-con.patch b/target/linux/generic/backport-6.12/200-02-v6.14-jiffies-Cast-to-unsigned-long-in-secs_to_jiffies-con.patch
deleted file mode 100644 (file)
index cddd558..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-From bb2784d9ab49587ba4fbff37a319fff2924db289 Mon Sep 17 00:00:00 2001
-From: Easwar Hariharan <eahariha@linux.microsoft.com>
-Date: Thu, 30 Jan 2025 19:26:58 +0000
-Subject: [PATCH] jiffies: Cast to unsigned long in secs_to_jiffies()
- conversion
-
-While converting users of msecs_to_jiffies(), lkp reported that some range
-checks would always be true because of the mismatch between the implied int
-value of secs_to_jiffies() vs the unsigned long return value of the
-msecs_to_jiffies() calls it was replacing.
-
-Fix this by casting the secs_to_jiffies() input value to unsigned long.
-
-Fixes: b35108a51cf7ba ("jiffies: Define secs_to_jiffies()")
-Reported-by: kernel test robot <lkp@intel.com>
-Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com>
-Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-Cc: stable@vger.kernel.org
-Link: https://lore.kernel.org/all/20250130192701.99626-1-eahariha@linux.microsoft.com
-Closes: https://lore.kernel.org/oe-kbuild-all/202501301334.NB6NszQR-lkp@intel.com/
----
- include/linux/jiffies.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/include/linux/jiffies.h
-+++ b/include/linux/jiffies.h
-@@ -537,7 +537,7 @@ static __always_inline unsigned long mse
-  *
-  * Return: jiffies value
-  */
--#define secs_to_jiffies(_secs) ((_secs) * HZ)
-+#define secs_to_jiffies(_secs) (unsigned long)((_secs) * HZ)
- extern unsigned long __usecs_to_jiffies(const unsigned int u);
- #if !(USEC_PER_SEC % HZ)
index 0ec012c97d804cd5dbb60d2a08e4b4ec94c75bca..f85cc0d7d42d8325e32e8f8c197cb68561529bf3 100644 (file)
@@ -116,9 +116,9 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
 +      if (qd->min_netlen > len)
 +              qd->min_netlen = len;
  
-       len += q->rate_overhead;
+       len = max((s32)len + q->rate_overhead, (s32)q->rate_mpu);
  
-@@ -1382,10 +1386,10 @@ static u32 cake_calc_overhead(struct cak
+@@ -1379,10 +1383,10 @@ static u32 cake_calc_overhead(struct cak
                len += (len + 63) / 64;
        }
  
@@ -133,7 +133,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  
        return len;
  }
-@@ -1587,7 +1591,7 @@ static unsigned int cake_drop(struct Qdi
+@@ -1584,7 +1588,7 @@ static unsigned int cake_drop(struct Qdi
        b->tin_dropped++;
        sch->qstats.drops++;
  
@@ -142,7 +142,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
                cake_advance_shaper(q, b, skb, now, true);
  
        __qdisc_drop(skb, to_free);
-@@ -1657,7 +1661,8 @@ static u8 cake_handle_diffserv(struct sk
+@@ -1654,7 +1658,8 @@ static u8 cake_handle_diffserv(struct sk
  static struct cake_tin_data *cake_select_tin(struct Qdisc *sch,
                                             struct sk_buff *skb)
  {
@@ -152,7 +152,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        u32 tin, mark;
        bool wash;
        u8 dscp;
-@@ -1674,24 +1679,24 @@ static struct cake_tin_data *cake_select
+@@ -1671,24 +1676,24 @@ static struct cake_tin_data *cake_select
        if (q->tin_mode == CAKE_DIFFSERV_BESTEFFORT)
                tin = 0;
  
@@ -184,7 +184,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  }
  
  static u32 cake_classify(struct Qdisc *sch, struct cake_tin_data **t,
-@@ -1747,7 +1752,7 @@ static s32 cake_enqueue(struct sk_buff *
+@@ -1744,7 +1749,7 @@ static s32 cake_enqueue(struct sk_buff *
        bool same_flow = false;
  
        /* choose flow to insert into */
@@ -193,7 +193,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        if (idx == 0) {
                if (ret & __NET_XMIT_BYPASS)
                        qdisc_qstats_drop(sch);
-@@ -1782,7 +1787,7 @@ static s32 cake_enqueue(struct sk_buff *
+@@ -1779,7 +1784,7 @@ static s32 cake_enqueue(struct sk_buff *
        if (unlikely(len > b->max_skblen))
                b->max_skblen = len;
  
@@ -202,7 +202,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
                struct sk_buff *segs, *nskb;
                netdev_features_t features = netif_skb_features(skb);
                unsigned int slen = 0, numsegs = 0;
-@@ -1823,7 +1828,7 @@ static s32 cake_enqueue(struct sk_buff *
+@@ -1820,7 +1825,7 @@ static s32 cake_enqueue(struct sk_buff *
                get_cobalt_cb(skb)->adjusted_len = cake_overhead(q, skb);
                flow_queue_add(flow, skb);
  
@@ -211,7 +211,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
                        ack = cake_ack_filter(q, flow);
  
                if (ack) {
-@@ -1832,7 +1837,7 @@ static s32 cake_enqueue(struct sk_buff *
+@@ -1829,7 +1834,7 @@ static s32 cake_enqueue(struct sk_buff *
                        ack_pkt_len = qdisc_pkt_len(ack);
                        b->bytes += ack_pkt_len;
                        q->buffer_used += skb->truesize - ack->truesize;
@@ -220,7 +220,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
                                cake_advance_shaper(q, b, ack, now, true);
  
                        qdisc_tree_reduce_backlog(sch, 1, ack_pkt_len);
-@@ -1855,7 +1860,7 @@ static s32 cake_enqueue(struct sk_buff *
+@@ -1852,7 +1857,7 @@ static s32 cake_enqueue(struct sk_buff *
                cake_heapify_up(q, b->overflow_idx[idx]);
  
        /* incoming bandwidth capacity estimate */
@@ -229,7 +229,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
                u64 packet_interval = \
                        ktime_to_ns(ktime_sub(now, q->last_packet_time));
  
-@@ -1887,7 +1892,7 @@ static s32 cake_enqueue(struct sk_buff *
+@@ -1884,7 +1889,7 @@ static s32 cake_enqueue(struct sk_buff *
                        if (ktime_after(now,
                                        ktime_add_ms(q->last_reconfig_time,
                                                     250))) {
@@ -238,7 +238,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
                                cake_reconfigure(sch);
                        }
                }
-@@ -1907,7 +1912,7 @@ static s32 cake_enqueue(struct sk_buff *
+@@ -1904,7 +1909,7 @@ static s32 cake_enqueue(struct sk_buff *
                flow->set = CAKE_SET_SPARSE;
                b->sparse_flow_count++;
  
@@ -247,7 +247,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        } else if (flow->set == CAKE_SET_SPARSE_WAIT) {
                /* this flow was empty, accounted as a sparse flow, but actually
                 * in the bulk rotation.
-@@ -1916,8 +1921,8 @@ static s32 cake_enqueue(struct sk_buff *
+@@ -1913,8 +1918,8 @@ static s32 cake_enqueue(struct sk_buff *
                b->sparse_flow_count--;
                b->bulk_flow_count++;
  
@@ -258,7 +258,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        }
  
        if (q->buffer_used > q->buffer_max_used)
-@@ -2103,8 +2108,8 @@ retry:
+@@ -2100,8 +2105,8 @@ retry:
                                b->sparse_flow_count--;
                                b->bulk_flow_count++;
  
@@ -269,7 +269,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  
                                flow->set = CAKE_SET_BULK;
                        } else {
-@@ -2116,7 +2121,7 @@ retry:
+@@ -2113,7 +2118,7 @@ retry:
                        }
                }
  
@@ -278,7 +278,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
                list_move_tail(&flow->flowchain, &b->old_flows);
  
                goto retry;
-@@ -2140,8 +2145,8 @@ retry:
+@@ -2137,8 +2142,8 @@ retry:
                                if (flow->set == CAKE_SET_BULK) {
                                        b->bulk_flow_count--;
  
@@ -289,7 +289,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  
                                        b->decaying_flow_count++;
                                } else if (flow->set == CAKE_SET_SPARSE ||
-@@ -2159,8 +2164,8 @@ retry:
+@@ -2156,8 +2161,8 @@ retry:
                                else if (flow->set == CAKE_SET_BULK) {
                                        b->bulk_flow_count--;
  
@@ -300,7 +300,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
                                } else
                                        b->decaying_flow_count--;
  
-@@ -2172,13 +2177,13 @@ retry:
+@@ -2169,13 +2174,13 @@ retry:
                /* Last packet in queue may be marked, shouldn't be dropped */
                if (!cobalt_should_drop(&flow->cvars, &b->cparams, now, skb,
                                        (b->bulk_flow_count *
@@ -316,7 +316,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
                        len = cake_advance_shaper(q, b, skb,
                                                  now, true);
                        flow->deficit -= len;
-@@ -2189,7 +2194,7 @@ retry:
+@@ -2186,7 +2191,7 @@ retry:
                qdisc_tree_reduce_backlog(sch, 1, qdisc_pkt_len(skb));
                qdisc_qstats_drop(sch);
                kfree_skb(skb);
@@ -325,7 +325,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
                        goto retry;
        }
  
-@@ -2312,7 +2317,7 @@ static int cake_config_besteffort(struct
+@@ -2309,7 +2314,7 @@ static int cake_config_besteffort(struct
        struct cake_sched_data *q = qdisc_priv(sch);
        struct cake_tin_data *b = &q->tins[0];
        u32 mtu = psched_mtu(qdisc_dev(sch));
@@ -334,7 +334,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  
        q->tin_cnt = 1;
  
-@@ -2320,7 +2325,7 @@ static int cake_config_besteffort(struct
+@@ -2317,7 +2322,7 @@ static int cake_config_besteffort(struct
        q->tin_order = normal_order;
  
        cake_set_rate(b, rate, mtu,
@@ -343,7 +343,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        b->tin_quantum = 65535;
  
        return 0;
-@@ -2331,7 +2336,7 @@ static int cake_config_precedence(struct
+@@ -2328,7 +2333,7 @@ static int cake_config_precedence(struct
        /* convert high-level (user visible) parameters into internal format */
        struct cake_sched_data *q = qdisc_priv(sch);
        u32 mtu = psched_mtu(qdisc_dev(sch));
@@ -352,7 +352,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        u32 quantum = 256;
        u32 i;
  
-@@ -2342,8 +2347,8 @@ static int cake_config_precedence(struct
+@@ -2339,8 +2344,8 @@ static int cake_config_precedence(struct
        for (i = 0; i < q->tin_cnt; i++) {
                struct cake_tin_data *b = &q->tins[i];
  
@@ -363,7 +363,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  
                b->tin_quantum = max_t(u16, 1U, quantum);
  
-@@ -2420,7 +2425,7 @@ static int cake_config_diffserv8(struct
+@@ -2417,7 +2422,7 @@ static int cake_config_diffserv8(struct
  
        struct cake_sched_data *q = qdisc_priv(sch);
        u32 mtu = psched_mtu(qdisc_dev(sch));
@@ -372,7 +372,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        u32 quantum = 256;
        u32 i;
  
-@@ -2434,8 +2439,8 @@ static int cake_config_diffserv8(struct
+@@ -2431,8 +2436,8 @@ static int cake_config_diffserv8(struct
        for (i = 0; i < q->tin_cnt; i++) {
                struct cake_tin_data *b = &q->tins[i];
  
@@ -383,7 +383,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  
                b->tin_quantum = max_t(u16, 1U, quantum);
  
-@@ -2464,7 +2469,7 @@ static int cake_config_diffserv4(struct
+@@ -2461,7 +2466,7 @@ static int cake_config_diffserv4(struct
  
        struct cake_sched_data *q = qdisc_priv(sch);
        u32 mtu = psched_mtu(qdisc_dev(sch));
@@ -392,7 +392,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        u32 quantum = 1024;
  
        q->tin_cnt = 4;
-@@ -2475,13 +2480,13 @@ static int cake_config_diffserv4(struct
+@@ -2472,13 +2477,13 @@ static int cake_config_diffserv4(struct
  
        /* class characteristics */
        cake_set_rate(&q->tins[0], rate, mtu,
@@ -410,7 +410,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  
        /* bandwidth-sharing weights */
        q->tins[0].tin_quantum = quantum;
-@@ -2501,7 +2506,7 @@ static int cake_config_diffserv3(struct
+@@ -2498,7 +2503,7 @@ static int cake_config_diffserv3(struct
   */
        struct cake_sched_data *q = qdisc_priv(sch);
        u32 mtu = psched_mtu(qdisc_dev(sch));
@@ -419,7 +419,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        u32 quantum = 1024;
  
        q->tin_cnt = 3;
-@@ -2512,11 +2517,11 @@ static int cake_config_diffserv3(struct
+@@ -2509,11 +2514,11 @@ static int cake_config_diffserv3(struct
  
        /* class characteristics */
        cake_set_rate(&q->tins[0], rate, mtu,
@@ -434,7 +434,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  
        /* bandwidth-sharing weights */
        q->tins[0].tin_quantum = quantum;
-@@ -2528,7 +2533,8 @@ static int cake_config_diffserv3(struct
+@@ -2525,7 +2530,8 @@ static int cake_config_diffserv3(struct
  
  static void cake_reconfigure(struct Qdisc *sch)
  {
@@ -444,7 +444,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        int c, ft;
  
        switch (q->tin_mode) {
-@@ -2554,36 +2560,37 @@ static void cake_reconfigure(struct Qdis
+@@ -2551,36 +2557,37 @@ static void cake_reconfigure(struct Qdis
                break;
        }
  
@@ -493,7 +493,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        struct nlattr *tb[TCA_CAKE_MAX + 1];
        u16 rate_flags;
        u8 flow_mode;
-@@ -2637,19 +2644,19 @@ static int cake_change(struct Qdisc *sch
+@@ -2634,19 +2641,19 @@ static int cake_change(struct Qdisc *sch
                           nla_get_s32(tb[TCA_CAKE_OVERHEAD]));
                rate_flags |= CAKE_FLAG_OVERHEAD;
  
@@ -521,7 +521,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        }
  
        if (tb[TCA_CAKE_MPU])
-@@ -2705,7 +2712,7 @@ static int cake_change(struct Qdisc *sch
+@@ -2702,7 +2709,7 @@ static int cake_change(struct Qdisc *sch
  
        WRITE_ONCE(q->rate_flags, rate_flags);
        WRITE_ONCE(q->flow_mode, flow_mode);
@@ -530,7 +530,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
                sch_tree_lock(sch);
                cake_reconfigure(sch);
                sch_tree_unlock(sch);
-@@ -2721,14 +2728,20 @@ static void cake_destroy(struct Qdisc *s
+@@ -2718,14 +2725,20 @@ static void cake_destroy(struct Qdisc *s
        qdisc_watchdog_cancel(&q->watchdog);
        tcf_block_put(q->block);
        kvfree(q->tins);
@@ -552,7 +552,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        sch->limit = 10240;
        q->tin_mode = CAKE_DIFFSERV_DIFFSERV3;
        q->flow_mode  = CAKE_FLOW_TRIPLE;
-@@ -2740,33 +2753,36 @@ static int cake_init(struct Qdisc *sch,
+@@ -2737,33 +2750,36 @@ static int cake_init(struct Qdisc *sch,
                               * for 5 to 10% of interval
                               */
        q->rate_flags |= CAKE_FLAG_SPLIT_GSO;
@@ -600,7 +600,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  
                INIT_LIST_HEAD(&b->new_flows);
                INIT_LIST_HEAD(&b->old_flows);
-@@ -2782,22 +2798,27 @@ static int cake_init(struct Qdisc *sch,
+@@ -2779,22 +2795,27 @@ static int cake_init(struct Qdisc *sch,
                        INIT_LIST_HEAD(&flow->flowchain);
                        cobalt_vars_init(&flow->cvars);
  
index 9f64e93c1ed8602ac926b091d37c50c81b64f876..e392a2bbd8b2e32c5219a015af4047c4d13ca3ea 100644 (file)
@@ -32,7 +32,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  #include <net/pkt_cls.h>
  #include <net/tcp.h>
  #include <net/flow_dissector.h>
-@@ -3155,14 +3156,89 @@ static struct Qdisc_ops cake_qdisc_ops _
+@@ -3152,14 +3153,89 @@ static struct Qdisc_ops cake_qdisc_ops _
  };
  MODULE_ALIAS_NET_SCH("cake");
  
@@ -123,7 +123,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  }
  
  module_init(cake_module_init)
-@@ -3170,3 +3246,4 @@ module_exit(cake_module_exit)
+@@ -3167,3 +3243,4 @@ module_exit(cake_module_exit)
  MODULE_AUTHOR("Jonathan Morton");
  MODULE_LICENSE("Dual BSD/GPL");
  MODULE_DESCRIPTION("The CAKE shaper.");
index b9f58e3fc7a5a98cfa506562883025b8524c7a4f..c8c73df999694aaa8f6b75af8d47add2febee266 100644 (file)
@@ -27,7 +27,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  };
  
  struct cake_sched_data {
-@@ -2587,14 +2588,12 @@ static void cake_reconfigure(struct Qdis
+@@ -2584,14 +2585,12 @@ static void cake_reconfigure(struct Qdis
                                   q->buffer_config_limit));
  }
  
@@ -46,7 +46,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        int err;
  
        err = nla_parse_nested_deprecated(tb, TCA_CAKE_MAX, opt, cake_policy,
-@@ -2602,7 +2601,6 @@ static int cake_change(struct Qdisc *sch
+@@ -2599,7 +2598,6 @@ static int cake_change(struct Qdisc *sch
        if (err < 0)
                return err;
  
@@ -54,7 +54,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        if (tb[TCA_CAKE_NAT]) {
  #if IS_ENABLED(CONFIG_NF_CONNTRACK)
                flow_mode &= ~CAKE_FLOW_NAT_FLAG;
-@@ -2615,6 +2613,19 @@ static int cake_change(struct Qdisc *sch
+@@ -2612,6 +2610,19 @@ static int cake_change(struct Qdisc *sch
  #endif
        }
  
@@ -74,7 +74,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        if (tb[TCA_CAKE_BASE_RATE64])
                WRITE_ONCE(q->rate_bps,
                           nla_get_u64(tb[TCA_CAKE_BASE_RATE64]));
-@@ -2623,7 +2634,6 @@ static int cake_change(struct Qdisc *sch
+@@ -2620,7 +2631,6 @@ static int cake_change(struct Qdisc *sch
                WRITE_ONCE(q->tin_mode,
                           nla_get_u32(tb[TCA_CAKE_DIFFSERV_MODE]));
  
@@ -82,7 +82,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        if (tb[TCA_CAKE_WASH]) {
                if (!!nla_get_u32(tb[TCA_CAKE_WASH]))
                        rate_flags |= CAKE_FLAG_WASH;
-@@ -2644,20 +2654,12 @@ static int cake_change(struct Qdisc *sch
+@@ -2641,20 +2651,12 @@ static int cake_change(struct Qdisc *sch
                WRITE_ONCE(q->rate_overhead,
                           nla_get_s32(tb[TCA_CAKE_OVERHEAD]));
                rate_flags |= CAKE_FLAG_OVERHEAD;
@@ -105,7 +105,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        }
  
        if (tb[TCA_CAKE_MPU])
-@@ -2676,13 +2678,6 @@ static int cake_change(struct Qdisc *sch
+@@ -2673,13 +2675,6 @@ static int cake_change(struct Qdisc *sch
                WRITE_ONCE(q->target, max(target, 1U));
        }
  
@@ -119,7 +119,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        if (tb[TCA_CAKE_INGRESS]) {
                if (!!nla_get_u32(tb[TCA_CAKE_INGRESS]))
                        rate_flags |= CAKE_FLAG_INGRESS;
-@@ -2713,6 +2708,34 @@ static int cake_change(struct Qdisc *sch
+@@ -2710,6 +2705,34 @@ static int cake_change(struct Qdisc *sch
  
        WRITE_ONCE(q->rate_flags, rate_flags);
        WRITE_ONCE(q->flow_mode, flow_mode);
@@ -154,7 +154,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        if (qd->tins) {
                sch_tree_lock(sch);
                cake_reconfigure(sch);
-@@ -2729,7 +2752,23 @@ static void cake_destroy(struct Qdisc *s
+@@ -2726,7 +2749,23 @@ static void cake_destroy(struct Qdisc *s
        qdisc_watchdog_cancel(&q->watchdog);
        tcf_block_put(q->block);
        kvfree(q->tins);
@@ -179,7 +179,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  }
  
  static int cake_init(struct Qdisc *sch, struct nlattr *opt,
-@@ -2743,17 +2782,9 @@ static int cake_init(struct Qdisc *sch,
+@@ -2740,17 +2779,9 @@ static int cake_init(struct Qdisc *sch,
        if (!q)
                return -ENOMEM;
  
@@ -199,7 +199,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        qd->cur_tin = 0;
        qd->cur_flow  = 0;
        qd->config = q;
-@@ -2816,10 +2847,21 @@ err:
+@@ -2813,10 +2844,21 @@ err:
        return err;
  }
  
@@ -222,7 +222,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        struct nlattr *opts;
        u16 rate_flags;
        u8 flow_mode;
-@@ -2895,6 +2937,13 @@ nla_put_failure:
+@@ -2892,6 +2934,13 @@ nla_put_failure:
        return -1;
  }
  
@@ -236,7 +236,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  static int cake_dump_stats(struct Qdisc *sch, struct gnet_dump *d)
  {
        struct nlattr *stats = nla_nest_start_noflag(d->skb, TCA_STATS_APP);
-@@ -3158,6 +3207,7 @@ MODULE_ALIAS_NET_SCH("cake");
+@@ -3155,6 +3204,7 @@ MODULE_ALIAS_NET_SCH("cake");
  
  struct cake_mq_sched {
        struct mq_sched mq_priv; /* must be first */
@@ -244,7 +244,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  };
  
  static void cake_mq_destroy(struct Qdisc *sch)
-@@ -3168,25 +3218,68 @@ static void cake_mq_destroy(struct Qdisc
+@@ -3165,25 +3215,68 @@ static void cake_mq_destroy(struct Qdisc
  static int cake_mq_init(struct Qdisc *sch, struct nlattr *opt,
                        struct netlink_ext_ack *extack)
  {
index 1ccfd455d4e184f9b91652a36bbd15938efcb4c1..459671c77f305b9e143d9b9cd5a6dffd4070415f 100644 (file)
@@ -88,7 +88,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  /* http://en.wikipedia.org/wiki/Methods_of_computing_square_roots
   * new_invsqrt = (invsqrt / 2) * (3 - count * invsqrt^2)
   *
-@@ -2003,6 +2011,40 @@ static struct sk_buff *cake_dequeue(stru
+@@ -2000,6 +2008,40 @@ static struct sk_buff *cake_dequeue(stru
        u64 delay;
        u32 len;
  
@@ -129,7 +129,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  begin:
        if (!sch->q.qlen)
                return NULL;
-@@ -2202,6 +2244,7 @@ retry:
+@@ -2199,6 +2241,7 @@ retry:
  
        b->tin_ecn_mark += !!flow->cvars.ecn_marked;
        qdisc_bstats_update(sch, skb);
@@ -137,7 +137,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  
        /* collect delay stats */
        delay = ktime_to_ns(ktime_sub(now, cobalt_get_enqueue_time(skb)));
-@@ -2302,6 +2345,9 @@ static void cake_set_rate(struct cake_ti
+@@ -2299,6 +2342,9 @@ static void cake_set_rate(struct cake_ti
        b->tin_rate_ns   = rate_ns;
        b->tin_rate_shft = rate_shft;
  
@@ -147,7 +147,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        byte_target_ns = (byte_target * rate_ns) >> rate_shft;
  
        WRITE_ONCE(b->cparams.target,
-@@ -2769,6 +2815,7 @@ static void cake_config_init(struct cake
+@@ -2766,6 +2812,7 @@ static void cake_config_init(struct cake
                               */
        q->rate_flags |= CAKE_FLAG_SPLIT_GSO;
        q->is_shared = is_shared;
@@ -155,7 +155,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  }
  
  static int cake_init(struct Qdisc *sch, struct nlattr *opt,
-@@ -2840,6 +2887,9 @@ static int cake_init(struct Qdisc *sch,
+@@ -2837,6 +2884,9 @@ static int cake_init(struct Qdisc *sch,
        qd->avg_peak_bandwidth = q->rate_bps;
        qd->min_netlen = ~0;
        qd->min_adjlen = ~0;
@@ -165,7 +165,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        return 0;
  err:
        kvfree(qd->config);
-@@ -2972,6 +3022,7 @@ static int cake_dump_stats(struct Qdisc
+@@ -2969,6 +3019,7 @@ static int cake_dump_stats(struct Qdisc
        PUT_STAT_U32(MAX_ADJLEN, q->max_adjlen);
        PUT_STAT_U32(MIN_NETLEN, q->min_netlen);
        PUT_STAT_U32(MIN_ADJLEN, q->min_adjlen);
index 6ec8f8d80f23643283edec33bedacd34b173eb3a..6d8e8b4fbcfcfc49925de5321b4205dbd1b13ed5 100644 (file)
@@ -33,7 +33,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        struct cake_heap_entry overflow_heap[CAKE_QUEUES * CAKE_MAX_TINS];
  
-@@ -2798,8 +2799,6 @@ static void cake_destroy(struct Qdisc *s
+@@ -2795,8 +2796,6 @@ static void cake_destroy(struct Qdisc *s
        qdisc_watchdog_cancel(&q->watchdog);
        tcf_block_put(q->block);
        kvfree(q->tins);
@@ -42,7 +42,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  }
  
  static void cake_config_init(struct cake_sched_config *q, bool is_shared)
-@@ -2822,13 +2821,9 @@ static int cake_init(struct Qdisc *sch,
+@@ -2819,13 +2818,9 @@ static int cake_init(struct Qdisc *sch,
                     struct netlink_ext_ack *extack)
  {
        struct cake_sched_data *qd = qdisc_priv(sch);
@@ -57,7 +57,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        cake_config_init(q, false);
  
        sch->limit = 10240;
-@@ -2840,14 +2835,13 @@ static int cake_init(struct Qdisc *sch,
+@@ -2837,14 +2832,13 @@ static int cake_init(struct Qdisc *sch,
  
        if (opt) {
                err = cake_change(sch, opt, extack);
@@ -74,7 +74,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        quantum_div[0] = ~0;
        for (i = 1; i <= CAKE_QUEUES; i++)
-@@ -2855,10 +2849,8 @@ static int cake_init(struct Qdisc *sch,
+@@ -2852,10 +2846,8 @@ static int cake_init(struct Qdisc *sch,
  
        qd->tins = kvcalloc(CAKE_MAX_TINS, sizeof(struct cake_tin_data),
                            GFP_KERNEL);
@@ -87,7 +87,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        for (i = 0; i < CAKE_MAX_TINS; i++) {
                struct cake_tin_data *b = qd->tins + i;
-@@ -2891,22 +2883,13 @@ static int cake_init(struct Qdisc *sch,
+@@ -2888,22 +2880,13 @@ static int cake_init(struct Qdisc *sch,
        qd->last_checked_active = 0;
  
        return 0;
index 60a003c1de4d94b19c561c515c6de4bd549e0c5d..57ed54d6ad8f46913ec9cddb2d2a81772027cfaa 100644 (file)
@@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 
 --- a/net/sched/sch_cake.c
 +++ b/net/sched/sch_cake.c
-@@ -2012,7 +2012,8 @@ static struct sk_buff *cake_dequeue(stru
+@@ -2009,7 +2009,8 @@ static struct sk_buff *cake_dequeue(stru
        u64 delay;
        u32 len;
  
index e7aa6688932ac478dab89a5041f710e436132339..3661caabb5ec3d818e63e76344d57902361d5f1f 100644 (file)
@@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  /* http://en.wikipedia.org/wiki/Methods_of_computing_square_roots
   * new_invsqrt = (invsqrt / 2) * (3 - count * invsqrt^2)
   *
-@@ -2039,12 +2039,9 @@ static struct sk_buff *cake_dequeue(stru
+@@ -2036,12 +2036,9 @@ static struct sk_buff *cake_dequeue(stru
                if (num_active_qs > 1)
                        new_rate = div64_u64(q->config->rate_bps, num_active_qs);
  
@@ -48,7 +48,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        }
  
  begin:
-@@ -2362,12 +2359,10 @@ static void cake_set_rate(struct cake_ti
+@@ -2359,12 +2356,10 @@ static void cake_set_rate(struct cake_ti
        b->cparams.p_dec = 1 << 20; /* 1/4096 */
  }
  
@@ -62,7 +62,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        q->tin_cnt = 1;
  
-@@ -2381,12 +2376,10 @@ static int cake_config_besteffort(struct
+@@ -2378,12 +2373,10 @@ static int cake_config_besteffort(struct
        return 0;
  }
  
@@ -76,7 +76,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        u32 quantum = 256;
        u32 i;
  
-@@ -2457,7 +2450,7 @@ static int cake_config_precedence(struct
+@@ -2454,7 +2447,7 @@ static int cake_config_precedence(struct
   *    Total 12 traffic classes.
   */
  
@@ -85,7 +85,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  {
  /*    Pruned list of traffic classes for typical applications:
   *
-@@ -2474,8 +2467,6 @@ static int cake_config_diffserv8(struct
+@@ -2471,8 +2464,6 @@ static int cake_config_diffserv8(struct
   */
  
        struct cake_sched_data *q = qdisc_priv(sch);
@@ -94,7 +94,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        u32 quantum = 256;
        u32 i;
  
-@@ -2505,7 +2496,7 @@ static int cake_config_diffserv8(struct
+@@ -2502,7 +2493,7 @@ static int cake_config_diffserv8(struct
        return 0;
  }
  
@@ -103,7 +103,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  {
  /*  Further pruned list of traffic classes for four-class system:
   *
-@@ -2518,8 +2509,6 @@ static int cake_config_diffserv4(struct
+@@ -2515,8 +2506,6 @@ static int cake_config_diffserv4(struct
   */
  
        struct cake_sched_data *q = qdisc_priv(sch);
@@ -112,7 +112,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        u32 quantum = 1024;
  
        q->tin_cnt = 4;
-@@ -2547,7 +2536,7 @@ static int cake_config_diffserv4(struct
+@@ -2544,7 +2533,7 @@ static int cake_config_diffserv4(struct
        return 0;
  }
  
@@ -121,7 +121,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  {
  /*  Simplified Diffserv structure with 3 tins.
   *            Latency Sensitive       (CS7, CS6, EF, VA, TOS4)
-@@ -2555,8 +2544,6 @@ static int cake_config_diffserv3(struct
+@@ -2552,8 +2541,6 @@ static int cake_config_diffserv3(struct
   *            Low Priority            (LE, CS1)
   */
        struct cake_sched_data *q = qdisc_priv(sch);
@@ -130,7 +130,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        u32 quantum = 1024;
  
        q->tin_cnt = 3;
-@@ -2581,32 +2568,33 @@ static int cake_config_diffserv3(struct
+@@ -2578,32 +2565,33 @@ static int cake_config_diffserv3(struct
        return 0;
  }
  
@@ -170,7 +170,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                break;
        }
  
-@@ -2617,6 +2605,14 @@ static void cake_reconfigure(struct Qdis
+@@ -2614,6 +2602,14 @@ static void cake_reconfigure(struct Qdis
  
        qd->rate_ns   = qd->tins[ft].tin_rate_ns;
        qd->rate_shft = qd->tins[ft].tin_rate_shft;
diff --git a/target/linux/generic/backport-6.12/752-v7.2-net-dsa-qca8k-fix-led-devicename-when-using-external.patch b/target/linux/generic/backport-6.12/752-v7.2-net-dsa-qca8k-fix-led-devicename-when-using-external.patch
deleted file mode 100644 (file)
index 195e171..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-From 0b7b378ce6cafbb948786cb6f17f406d94016c8c Mon Sep 17 00:00:00 2001
-From: George Moussalem <george.moussalem@outlook.com>
-Date: Mon, 8 Jun 2026 11:22:08 +0400
-Subject: [PATCH] net: dsa: qca8k: fix led devicename when using external mdio
- bus
-
-The qca8k dsa switch can use either an external or internal mdio bus.
-This depends on whether the mdio node is defined under the switch node
-itself. Upon registering the internal mdio bus, the internal_mdio_bus
-of the dsa switch is assigned to this bus. When an external mdio bus is
-used, the driver still uses the internal_mdio_bus id which is used to
-create the device names of the leds.
-This leads to the leds being prefixed with '(efault)' as the
-internal_mii_bus is null. So let's fix this by adding a null check and
-use the devicename of the external bus instead when an external bus is
-configured.
-
-Fixes: 1e264f9d2918 ("net: dsa: qca8k: add LEDs basic support")
-Signed-off-by: George Moussalem <george.moussalem@outlook.com>
-Reviewed-by: Andrew Lunn <andrew@lunn.ch>
-Link: https://patch.msgid.link/20260608-qca8k-leds-fix-v3-1-a915bb2f37ae@outlook.com
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
----
- drivers/net/dsa/qca/qca8k-leds.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/drivers/net/dsa/qca/qca8k-leds.c
-+++ b/drivers/net/dsa/qca/qca8k-leds.c
-@@ -429,7 +429,8 @@ qca8k_parse_port_leds(struct qca8k_priv
-               init_data.fwnode = led;
-               init_data.devname_mandatory = true;
-               init_data.devicename = kasprintf(GFP_KERNEL, "%s:0%d",
--                                               priv->internal_mdio_bus->id,
-+                                               priv->internal_mdio_bus ?
-+                                               priv->internal_mdio_bus->id : priv->bus->id,
-                                                port_num);
-               if (!init_data.devicename) {
-                       fwnode_handle_put(led);
index 7e027a15d211669cbc7b9b83a267aeca2c4ff8bc..b0d5f2ca1e9896a8202b3cb1a5f4aa7af3f5664f 100644 (file)
@@ -95,9 +95,9 @@ Link: https://patch.msgid.link/04d4a96046490e50139826c16423954e033cdf89.17508580
  int dw_pcie_allocate_domains(struct dw_pcie_rp *pp)
  {
        struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
--      struct fwnode_handle *fwnode = of_node_to_fwnode(pci->dev->of_node);
+-      struct fwnode_handle *fwnode = dev_fwnode(pci->dev);
 +      struct irq_domain_info info = {
-+              .fwnode         = of_node_to_fwnode(pci->dev->of_node),
++              .fwnode         = dev_fwnode(pci->dev),
 +              .ops            = &dw_pcie_msi_domain_ops,
 +              .size           = pp->num_vectors,
 +              .host_data      = pp,
index 6c1d9e520734e97a56ff43492568e366346b1ff7..d73fe1b9ab5c3aa4abfa05539864f0a890b62aee 100644 (file)
@@ -1346,6 +1346,7 @@ CONFIG_DEBUG_KERNEL=y
 # CONFIG_DEBUG_MISC is not set
 # CONFIG_DEBUG_MUTEXES is not set
 # CONFIG_DEBUG_NET is not set
+# CONFIG_DEBUG_NET_SMALL_RTNL is not set
 # CONFIG_DEBUG_NOTIFIERS is not set
 # CONFIG_DEBUG_OBJECTS is not set
 # CONFIG_DEBUG_PAGEALLOC is not set
index d7416d81a9e916038bf0f2577e0c2c970e5be4d5..e80153765ff654968c6952efe72253f3cd44d204 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
 
 --- a/scripts/kconfig/conf.c
 +++ b/scripts/kconfig/conf.c
-@@ -312,6 +312,9 @@ static int conf_askvalue(struct symbol *
+@@ -310,6 +310,9 @@ static int conf_askvalue(struct symbol *
                }
                /* fall through */
        default:
@@ -29,7 +29,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
                fflush(stdout);
                xfgets(line, sizeof(line), stdin);
                break;
-@@ -470,6 +473,9 @@ static void conf_choice(struct menu *men
+@@ -468,6 +471,9 @@ static void conf_choice(struct menu *men
                        }
                        /* fall through */
                case oldaskconfig:
index bb802857d6b57bafdb57b2a6b2a2fff26733a399..a1e7f4b3beec0b3263229d2e085b12f7c2ec6839 100644 (file)
@@ -195,7 +195,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
  
        return connmark_tg_shift(skb, info);
  }
-@@ -168,6 +195,16 @@ static struct xt_target connmark_tg_reg[
+@@ -178,6 +205,16 @@ static struct xt_target connmark_tg_reg[
                .destroy        = connmark_tg_destroy,
                .me             = THIS_MODULE,
        },
@@ -212,7 +212,7 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
  #if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
        {
                .name           = "CONNMARK",
-@@ -189,6 +226,16 @@ static struct xt_target connmark_tg_reg[
+@@ -199,6 +236,16 @@ static struct xt_target connmark_tg_reg[
                .destroy        = connmark_tg_destroy,
                .me             = THIS_MODULE,
        },
index 4d7b01d24379977f659412d44b4583de01943f35..4ec9e5a1406d97a0f48bfae611014f70cbc1a66a 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/sched/sch_fq_codel.c
 +++ b/net/sched/sch_fq_codel.c
-@@ -472,7 +472,11 @@ static int fq_codel_init(struct Qdisc *s
+@@ -509,7 +509,11 @@ static int fq_codel_init(struct Qdisc *s
  
        sch->limit = 10*1024;
        q->flows_cnt = 1024;
index b4bf160e824f49ef9dc8e713183be62dfcaddaac..1a46fd74042d8d452d10bcd5ddf449059d40441a 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
 
 --- a/net/netfilter/nf_conntrack_core.c
 +++ b/net/netfilter/nf_conntrack_core.c
-@@ -2648,7 +2648,7 @@ int nf_conntrack_init_start(void)
+@@ -2605,7 +2605,7 @@ int nf_conntrack_init_start(void)
  
        if (!nf_conntrack_htable_size) {
                nf_conntrack_htable_size
index 54fa9df608f5e47cc650c4c6ff2d282d04b8bf63..87c49654b73073885912ae857aa47c26e2ff8619 100644 (file)
@@ -34,7 +34,7 @@ Signed-off-by: Jonas Köppeler <j.koeppeler@tu-berlin.de>
  
  /* struct cobalt_params - contains codel and blue parameters
   * @interval: codel initial drop rate
-@@ -2013,7 +2016,7 @@ static struct sk_buff *cake_dequeue(stru
+@@ -2010,7 +2013,7 @@ static struct sk_buff *cake_dequeue(stru
        u32 len;
  
        if (q->config->is_shared && q->rate_ns &&
@@ -43,7 +43,7 @@ Signed-off-by: Jonas Köppeler <j.koeppeler@tu-berlin.de>
                struct net_device *dev = qdisc_dev(sch);
                struct cake_sched_data *other_priv;
                u64 new_rate = q->config->rate_bps;
-@@ -3353,8 +3356,13 @@ static int __init cake_module_init(void)
+@@ -3350,8 +3353,13 @@ static int __init cake_module_init(void)
                return ret;
  
        ret = register_qdisc(&cake_mq_qdisc_ops);
@@ -58,7 +58,7 @@ Signed-off-by: Jonas Köppeler <j.koeppeler@tu-berlin.de>
  
        return ret;
  }
-@@ -3363,6 +3371,7 @@ static void __exit cake_module_exit(void
+@@ -3360,6 +3368,7 @@ static void __exit cake_module_exit(void
  {
        unregister_qdisc(&cake_qdisc_ops);
        unregister_qdisc(&cake_mq_qdisc_ops);
index 1ae2e8efad62a153c55d135228d4e06d0acae00e..b9dab984919063307f338480b77f62c0c13132fe 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.12 = .96
-LINUX_KERNEL_HASH-6.12.96 = 7d2e1b5d5ab36b3a01856e71782dad2a54e634fb2b37c0a42998def3bbf957c1
+LINUX_VERSION-6.12 = .97
+LINUX_KERNEL_HASH-6.12.97 = 6cbddfa3bbd2229026f7cc5e48f6b7d6b46d39742de39a9257a2f490a0f45c6f
index c9bbe1442b7c8ea83c7a7a72681f8e4d2528ba80..78c634ba2492389be9a7e028d3c19ca11b57f110 100644 (file)
@@ -174,7 +174,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
        child->size = child->part.size;
 --- a/drivers/mtd/spi-nor/Kconfig
 +++ b/drivers/mtd/spi-nor/Kconfig
-@@ -10,6 +10,16 @@ menuconfig MTD_SPI_NOR
+@@ -9,6 +9,16 @@ menuconfig MTD_SPI_NOR
  
  if MTD_SPI_NOR
  
index 861090d31eaba3c07486aa2c22ec4166478ea3bd..dc19b20b2171f30fa93ecb8a7f7c3a2e428be923 100644 (file)
@@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
  /*
   *    Allocate a dst for local (unicast / anycast) address.
   */
-@@ -5103,7 +5133,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -5106,7 +5136,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)
-@@ -6376,6 +6407,8 @@ static int ip6_route_dev_notify(struct n
+@@ -6379,6 +6410,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
-@@ -6387,6 +6420,7 @@ static int ip6_route_dev_notify(struct n
+@@ -6390,6 +6423,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
        }
-@@ -6582,6 +6616,8 @@ static int __net_init ip6_route_net_init
+@@ -6585,6 +6619,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);
-@@ -6592,11 +6628,21 @@ static int __net_init ip6_route_net_init
+@@ -6595,11 +6631,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);
-@@ -6623,6 +6669,8 @@ out:
+@@ -6626,6 +6672,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:
-@@ -6642,6 +6690,7 @@ static void __net_exit ip6_route_net_exi
+@@ -6645,6 +6693,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);
-@@ -6725,6 +6774,9 @@ void __init ip6_route_init_special_entri
+@@ -6728,6 +6777,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 8a5822b53c02fdfc44dc21dceaae1f5816f2540a..91ba5f54f7f7b8761388edda34769219f8a2abe8 100644 (file)
@@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  struct rtnl_link {
        rtnl_doit_func          doit;
-@@ -5021,7 +5021,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
+@@ -5102,7 +5102,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
            brport_nla_put_flag(skb, flags, mask,
                                IFLA_BRPORT_MCAST_FLOOD, BR_MCAST_FLOOD) ||
            brport_nla_put_flag(skb, flags, mask,
index 2ca5ace3678922f94b28069a52f2a2a8d5bc73d0..437fafbf40e874fb87f4c20a23aa8e077077eef7 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        foe_flow_size = (MTK_PPE_ENTRIES / soc->hash_offset) *
 @@ -928,6 +929,7 @@ struct mtk_ppe *mtk_ppe_init(struct mtk_
                if (!mib)
-                       return NULL;
+                       goto err_free_l2_flows;
  
 +              memset(mib, 0, MTK_PPE_ENTRIES * sizeof(*mib));
                ppe->mib_table = mib;
index 7ff4b37fb0465d7b84247e9641e0213e7589e681..e6a8f5d814dfb92a26556c4f4a2170b3dacf7fe3 100644 (file)
@@ -68,7 +68,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  
  /* show configuration fields */
  #define pci_config_attr(field, format_string)                         \
-@@ -1523,12 +1525,32 @@ static const struct attribute_group pci_
+@@ -1516,12 +1518,32 @@ static const struct attribute_group pci_
        .is_visible = resource_resize_is_visible,
  };
  
@@ -102,7 +102,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  }
  
  /**
-@@ -1549,21 +1571,23 @@ static int __init pci_sysfs_init(void)
+@@ -1542,21 +1564,23 @@ static int __init pci_sysfs_init(void)
  {
        struct pci_dev *pdev = NULL;
        struct pci_bus *pbus = NULL;
index 72abaeab9922c48d07470c0c8c094609b51e454e..ea8f34ae8538ff5869c56fd0ad3066ef0bd74b3a 100644 (file)
@@ -63,7 +63,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  /**
   *    ata_build_rw_tf - Build ATA taskfile for given read/write request
   *    @qc: Metadata associated with the taskfile to build
-@@ -4812,6 +4823,9 @@ void __ata_qc_complete(struct ata_queued
+@@ -4827,6 +4838,9 @@ void __ata_qc_complete(struct ata_queued
                link->active_tag = ATA_TAG_POISON;
                ap->nr_active_links--;
        }
@@ -73,7 +73,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
        /* clear exclusive status */
        if (unlikely(qc->flags & ATA_QCFLAG_CLEAR_EXCL &&
-@@ -5541,6 +5555,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -5556,6 +5570,9 @@ struct ata_port *ata_port_alloc(struct a
        ap->stats.unhandled_irq = 1;
        ap->stats.idle_irq = 1;
  #endif
@@ -83,7 +83,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        ata_sff_port_init(ap);
  
        ata_force_pflags(ap);
-@@ -5557,6 +5574,12 @@ void ata_port_free(struct ata_port *ap)
+@@ -5572,6 +5589,12 @@ void ata_port_free(struct ata_port *ap)
        kfree(ap->pmp_link);
        kfree(ap->slave_link);
        ida_free(&ata_ida, ap->print_id);
@@ -96,7 +96,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
        kfree(ap);
  }
  EXPORT_SYMBOL_GPL(ata_port_free);
-@@ -5961,7 +5984,23 @@ int ata_host_register(struct ata_host *h
+@@ -5976,7 +5999,23 @@ int ata_host_register(struct ata_host *h
                WARN_ON(1);
                return -EINVAL;
        }
index 58210f6a9218c0df888ebe8bd8f7bcc4d48eb4ee..24bb81eceb78479df796f27a8c8874ea833b68c7 100644 (file)
@@ -177,7 +177,7 @@ Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
 +
 +void *arch_alloc_bpf_trampoline(unsigned int size)
 +{
-+      return bpf_prog_pack_alloc(size, jit_fill_hole);
++      return bpf_prog_pack_alloc(size, jit_fill_hole, false);
 +}
 +
 +void arch_free_bpf_trampoline(void *image, unsigned int size)
index 70e681475f7f67a5db699180036a0e999928e1bb..de1277aade9c24c87f756c46fffbf91ab2c56ed9 100644 (file)
@@ -21,7 +21,7 @@ Link: https://patch.msgid.link/20250326-ipq5018-pcie-v7-4-e1828fef06c9@outlook.c
 
 --- a/drivers/pci/controller/dwc/pcie-qcom.c
 +++ b/drivers/pci/controller/dwc/pcie-qcom.c
-@@ -1827,6 +1827,7 @@ static const struct of_device_id qcom_pc
+@@ -1838,6 +1838,7 @@ static const struct of_device_id qcom_pc
        { .compatible = "qcom,pcie-apq8064", .data = &cfg_2_1_0 },
        { .compatible = "qcom,pcie-apq8084", .data = &cfg_1_0_0 },
        { .compatible = "qcom,pcie-ipq4019", .data = &cfg_2_4_0 },