]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
kernel: bump 6.12 to 6.12.102
authorShiji Yang <yangshiji66@outlook.com>
Mon, 3 Aug 2026 10:57:22 +0000 (18:57 +0800)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 12 Aug 2026 22:22:31 +0000 (00:22 +0200)
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.101
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.102

Upstream merged patches:
- generic/backport-6.12/620-v6.15-ppp-use-IFF_NO_QUEUE-in-virtual-interfaces.patch[1]
- generic/backport-6.12/621-v6.17-ppp-convert-to-percpu-netstats.patch[2]
- generic/backport-6.12/625-v7.0-ppp-enable-TX-scatter-gather.patch[3]
- generic/pending-6.12/303-powerpc-85xx-Add-fsl-ifc-to-common-device-ids.patch[4]

Manually rebased patches:
- bcm27xx/patches-6.12/950-0006-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch[5]
- bcm27xx/patches-6.12/950-0333-xhci-quirks-add-link-TRB-quirk-for-VL805.patch[5]
- bcm27xx/patches-6.12/950-0334-usb-xhci-add-VLI_SS_BULK_OUT_BUG-quirk.patch[5]
- bcm27xx/patches-6.12/950-0335-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch[5]

New kconfig symbol:
- GPU_BUDDY [6]

Obsolete kconfig symbol:
- DRM_LIB_RANDOM [6]

All other patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.101&id=cc92d8e5753da5d4e8fbc3a3a1742b1646492099
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.101&id=fa4e1dad10e78f96876784c3e1b5566da59e7d90
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.101&id=ff24b5075329f2f8d36a16cf156cf27458997660
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.101&id=3612dccaa22bcc75fd10ceb14aef60d693567cf3
[5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.101&id=c4657f5438fb8c2dfbe6e23b28f2a2bd5aaf8116
[6] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.101&id=1c44c262a0c2dfd083dc00308d6488d23b58b59e
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/24551
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
39 files changed:
target/linux/bcm27xx/patches-6.12/950-0006-xhci-add-quirk-for-host-controllers-that-don-t-updat.patch
target/linux/bcm27xx/patches-6.12/950-0073-ASoC-Add-support-for-all-the-downstream-rpi-sound-ca.patch
target/linux/bcm27xx/patches-6.12/950-0125-xhci-implement-xhci_fixup_endpoint-for-interval-adju.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-0333-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
target/linux/bcm27xx/patches-6.12/950-0334-usb-xhci-add-VLI_SS_BULK_OUT_BUG-quirk.patch
target/linux/bcm27xx/patches-6.12/950-0335-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch
target/linux/bcm27xx/patches-6.12/950-0347-net-macb-Also-set-DMA-coherent-mask.patch
target/linux/bcm27xx/patches-6.12/950-0364-drm-Add-RP1-DSI-driver.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-0565-net-macb-Add-support-for-Raspberry-Pi-RP1-ethernet-c.patch
target/linux/bcm27xx/patches-6.12/950-0588-drm-vc4-Make-v3d-paths-unavailable-on-any-generation.patch
target/linux/bcm27xx/patches-6.12/950-0702-serial-sc16is7xx-announce-support-for-SER_RS485_RTS_.patch
target/linux/bcm53xx/patches-6.12/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
target/linux/generic/backport-6.12/500-02-v6.13-block-introduce-add_disk_fwnode.patch
target/linux/generic/backport-6.12/602-03-v6.14-net-pcs-xpcs-implement-pcs_inband_caps-method.patch
target/linux/generic/backport-6.12/620-v6.15-ppp-use-IFF_NO_QUEUE-in-virtual-interfaces.patch [deleted file]
target/linux/generic/backport-6.12/621-v6.17-ppp-convert-to-percpu-netstats.patch [deleted file]
target/linux/generic/backport-6.12/622-v6.18-ppp-remove-rwlock-usage.patch
target/linux/generic/backport-6.12/623-v6.18-pppoe-remove-rwlock-usage.patch
target/linux/generic/backport-6.12/625-v7.0-ppp-enable-TX-scatter-gather.patch [deleted file]
target/linux/generic/backport-6.12/650-v7.2-net-pppoe-implement-GRO-GSO-support.patch
target/linux/generic/config-6.12
target/linux/generic/hack-6.12/253-ksmbd-config.patch
target/linux/generic/hack-6.12/402-mtd-blktrans-call-add-disks-after-mtd-device.patch
target/linux/generic/hack-6.12/420-mtd-support-OpenWrt-s-MTD_ROOTFS_ROOT_DEV.patch
target/linux/generic/kernel-6.12
target/linux/generic/pending-6.12/103-kbuild-export-SUBARCH.patch
target/linux/generic/pending-6.12/203-kallsyms_uncompressed.patch
target/linux/generic/pending-6.12/303-powerpc-85xx-Add-fsl-ifc-to-common-device-ids.patch [deleted file]
target/linux/generic/pending-6.12/402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch
target/linux/generic/pending-6.12/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch
target/linux/generic/pending-6.12/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch
target/linux/generic/pending-6.12/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch
target/linux/generic/pending-6.12/738-02-net-ethernet-mtk_eth_soc-do-not-enable-page-pool-sta.patch
target/linux/generic/pending-6.12/834-ledtrig-libata.patch
target/linux/generic/pending-6.12/920-mangle_bootargs.patch
target/linux/ipq806x/patches-6.12/902-ARM-decompressor-support-for-ATAGs-rootblock-parsing.patch
target/linux/siflower/patches-6.12/020-net-ethernet-add-support-for-Siflower-DPNS.patch

index c7de0e60296d2611bb732dd99f63ed997b767f1e..e3c95ce3c509d08c533ecefdfd0989667099d797 100644 (file)
@@ -36,9 +36,9 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
                xhci->quirks |= XHCI_LPM_SUPPORT;
                xhci->quirks |= XHCI_TRB_OVERFETCH;
 +              xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
+               xhci->dma_mask_bits = 36;
        }
  
-       if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
 --- a/drivers/usb/host/xhci-ring.c
 +++ b/drivers/usb/host/xhci-ring.c
 @@ -637,8 +637,11 @@ static int xhci_move_dequeue_past_td(str
index 0fcc1b288ddebf04543b9dcb7a0a31ba8d4dd878..1f8a3886060a8fa951ff9c31dbd3d9257f66a1a6 100644 (file)
@@ -18626,7 +18626,7 @@ Signed-off-by: j-schambacher <joerg@hifiberry.com>
         * For devices with more than one control interface, we assume the
 --- a/sound/usb/quirks.c
 +++ b/sound/usb/quirks.c
-@@ -2399,6 +2399,8 @@ static const struct usb_audio_quirk_flag
+@@ -2401,6 +2401,8 @@ static const struct usb_audio_quirk_flag
                   QUIRK_FLAG_ALIGN_TRANSFER),
        DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */
                   QUIRK_FLAG_ALIGN_TRANSFER),
index a2a38c29f0efead2e8c41e291c8f665a582478a7..07e350138649c01f1a3450839b7521c71d335722 100644 (file)
@@ -124,7 +124,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
   * non-error returns are a promise to giveback() the urb later
   * we drop ownership so next owner (or urb unlink) can get it
   */
-@@ -5395,6 +5498,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5400,6 +5503,7 @@ static const struct hc_driver xhci_hc_dr
        .endpoint_reset =       xhci_endpoint_reset,
        .check_bandwidth =      xhci_check_bandwidth,
        .reset_bandwidth =      xhci_reset_bandwidth,
index d7a6e65a4c05157398e381a6249035d4ed113eeb..c6740bbbe06b7d5f1e7842c10415391144be334e 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
-@@ -4985,6 +4985,7 @@ static const struct {
+@@ -4994,6 +4994,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;
-@@ -5013,7 +5014,8 @@ static int hci_dev_setup_sync(struct hci
+@@ -5022,7 +5023,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 fad1aafc0f7008fe6519b2db045fad813b3be9a0..aae607d3c69462fa1cd15ab416bdfc13bfe535f6 100644 (file)
@@ -29,9 +29,9 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
                xhci->quirks |= XHCI_TRB_OVERFETCH;
                xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
 +              xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
+               xhci->dma_mask_bits = 36;
        }
  
-       if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
 --- a/drivers/usb/host/xhci-ring.c
 +++ b/drivers/usb/host/xhci-ring.c
 @@ -710,6 +710,16 @@ static int xhci_move_dequeue_past_td(str
@@ -53,7 +53,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        if (addr == 0) {
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1631,6 +1631,9 @@ struct xhci_hcd {
+@@ -1632,6 +1632,9 @@ struct xhci_hcd {
  #define XHCI_ETRON_HOST       BIT_ULL(49)
  #define XHCI_LIMIT_ENDPOINT_INTERVAL_9 BIT_ULL(50)
  
index 56708d6bcb55f1cbd963bf31efa82aaa9c244718..50982158428244322380ba5bd16772cfdc630223 100644 (file)
@@ -95,12 +95,12 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
                xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
                xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
 +              xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG;
+               xhci->dma_mask_bits = 36;
        }
  
-       if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1633,6 +1633,7 @@ struct xhci_hcd {
+@@ -1634,6 +1634,7 @@ struct xhci_hcd {
  
  /* Downstream VLI fixes */
  #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
index 066de8ee265cc9cbdfb7b5ec5830c78e18f4e95f..729bf022eb10a02d7ca3707a74ecdcb6ee89e6eb 100644 (file)
@@ -64,10 +64,10 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
  {
        struct pci_dev                  *pdev = to_pci_dev(dev);
-@@ -457,6 +469,8 @@ static void xhci_pci_quirks(struct devic
-               xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
+@@ -458,6 +470,8 @@ static void xhci_pci_quirks(struct devic
                xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
                xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG;
+               xhci->dma_mask_bits = 36;
 +              if (xhci_vl805_get_fw_version(pdev) < VL805_FW_VER_0138C0)
 +                      xhci->quirks |= XHCI_VLI_HUB_TT_QUIRK;
        }
@@ -144,7 +144,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        return 0;
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1634,6 +1634,7 @@ struct xhci_hcd {
+@@ -1635,6 +1635,7 @@ struct xhci_hcd {
  /* Downstream VLI fixes */
  #define XHCI_AVOID_DQ_ON_LINK BIT_ULL(56)
  #define XHCI_VLI_SS_BULK_OUT_BUG      BIT_ULL(57)
index 92f7bf7771b187e27bf5cb3827bce553221ef0c5..3a9353fc632bbea92a03156c95e546d8325e7d39 100644 (file)
@@ -234,7 +234,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        macb_writel(bp, NCR, macb_readl(bp, NCR) | MACB_BIT(TSTART));
        spin_unlock(&bp->lock);
  
-@@ -2901,6 +2929,37 @@ static void macb_configure_dma(struct ma
+@@ -2919,6 +2947,37 @@ static void macb_configure_dma(struct ma
        }
  }
  
@@ -272,7 +272,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  static void macb_init_hw(struct macb *bp)
  {
        u32 config;
-@@ -2929,6 +2988,11 @@ static void macb_init_hw(struct macb *bp
+@@ -2947,6 +3006,11 @@ static void macb_init_hw(struct macb *bp
        if (bp->caps & MACB_CAPS_JUMBO)
                bp->rx_frm_len_mask = MACB_RX_JFRMLEN_MASK;
  
@@ -284,7 +284,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        macb_configure_dma(bp);
  
        /* Enable RX partial store and forward and set watermark */
-@@ -3296,6 +3360,52 @@ static void gem_get_ethtool_strings(stru
+@@ -3314,6 +3378,52 @@ static void gem_get_ethtool_strings(stru
        }
  }
  
@@ -337,7 +337,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  static struct net_device_stats *macb_get_stats(struct net_device *dev)
  {
        struct macb *bp = netdev_priv(dev);
-@@ -3883,6 +3993,8 @@ static const struct ethtool_ops macb_eth
+@@ -3901,6 +4011,8 @@ static const struct ethtool_ops macb_eth
  };
  
  static const struct ethtool_ops gem_ethtool_ops = {
@@ -346,7 +346,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        .get_regs_len           = macb_get_regs_len,
        .get_regs               = macb_get_regs,
        .get_wol                = macb_get_wol,
-@@ -3892,6 +4004,8 @@ static const struct ethtool_ops gem_etht
+@@ -3910,6 +4022,8 @@ static const struct ethtool_ops gem_etht
        .get_ethtool_stats      = gem_get_ethtool_stats,
        .get_strings            = gem_get_ethtool_strings,
        .get_sset_count         = gem_get_sset_count,
@@ -355,7 +355,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        .get_link_ksettings     = macb_get_link_ksettings,
        .set_link_ksettings     = macb_set_link_ksettings,
        .get_ringparam          = macb_get_ringparam,
-@@ -5213,6 +5327,11 @@ static int macb_probe(struct platform_de
+@@ -5231,6 +5345,11 @@ static int macb_probe(struct platform_de
                        }
                }
        }
@@ -367,7 +367,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        spin_lock_init(&bp->lock);
        spin_lock_init(&bp->stats_lock);
  
-@@ -5273,6 +5392,21 @@ static int macb_probe(struct platform_de
+@@ -5291,6 +5410,21 @@ static int macb_probe(struct platform_de
        else
                bp->phy_interface = interface;
  
@@ -389,7 +389,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        /* IP specific init */
        err = init(pdev);
        if (err)
-@@ -5344,6 +5478,19 @@ static void macb_remove(struct platform_
+@@ -5362,6 +5496,19 @@ static void macb_remove(struct platform_
        }
  }
  
@@ -409,7 +409,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  static int __maybe_unused macb_suspend(struct device *dev)
  {
        struct net_device *netdev = dev_get_drvdata(dev);
-@@ -5616,6 +5763,7 @@ static const struct dev_pm_ops macb_pm_o
+@@ -5634,6 +5781,7 @@ static const struct dev_pm_ops macb_pm_o
  static struct platform_driver macb_driver = {
        .probe          = macb_probe,
        .remove_new     = macb_remove,
index 8c37408fee88de4fb14ebe3fdd00aa4830a30142..02c343e11f996889f7de22cb34740de27803dca3 100644 (file)
@@ -113,7 +113,7 @@ Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>
  source "drivers/gpu/drm/etnaviv/Kconfig"
 --- a/drivers/gpu/drm/Makefile
 +++ b/drivers/gpu/drm/Makefile
-@@ -225,3 +225,4 @@ obj-y                      += solomon/
+@@ -224,3 +224,4 @@ obj-y                      += solomon/
  obj-$(CONFIG_DRM_SPRD) += sprd/
  obj-$(CONFIG_DRM_LOONGSON) += loongson/
  obj-$(CONFIG_DRM_POWERVR) += imagination/
index e9fb21c99ab646cd0a049fceef7c586f4f8d7e87..fbfd23af2b9d0e98151d2babeb6c855e0e6179a2 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
-@@ -4985,7 +4985,8 @@ static const struct {
+@@ -4994,7 +4994,8 @@ static const struct {
   */
  static int hci_dev_setup_sync(struct hci_dev *hdev)
  {
index ae6f61d81c4310f15409b3e31948d73d1df22af2..9d560e48bce1a775dd697779e0d44084e9cc5033 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
 
 --- a/drivers/net/ethernet/cadence/macb_main.c
 +++ b/drivers/net/ethernet/cadence/macb_main.c
-@@ -5176,6 +5176,17 @@ static const struct macb_config versal_c
+@@ -5194,6 +5194,17 @@ static const struct macb_config versal_c
        .usrio = &macb_default_usrio,
  };
  
@@ -33,7 +33,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
  static const struct of_device_id macb_dt_ids[] = {
        { .compatible = "cdns,at91sam9260-macb", .data = &at91sam9260_config },
        { .compatible = "cdns,macb" },
-@@ -5196,6 +5207,7 @@ static const struct of_device_id macb_dt
+@@ -5214,6 +5225,7 @@ static const struct of_device_id macb_dt
        { .compatible = "microchip,mpfs-macb", .data = &mpfs_config },
        { .compatible = "microchip,sama7g5-gem", .data = &sama7g5_gem_config },
        { .compatible = "microchip,sama7g5-emac", .data = &sama7g5_emac_config },
index 5b43bbf224db078badf98e2e7dcb1a77d099b0fd..cd6fce62104164bc91c466f7f9542dc73cb074ef 100644 (file)
@@ -90,7 +90,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
                return;
  
        /* Fast path: if the BO is still retained by someone, no need to test
-@@ -786,7 +786,7 @@ int vc4_create_bo_ioctl(struct drm_devic
+@@ -790,7 +790,7 @@ int vc4_create_bo_ioctl(struct drm_devic
        struct vc4_bo *bo = NULL;
        int ret;
  
@@ -99,7 +99,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
                return -ENODEV;
  
        ret = vc4_grab_bin_bo(vc4, vc4file);
-@@ -816,7 +816,7 @@ int vc4_mmap_bo_ioctl(struct drm_device
+@@ -820,7 +820,7 @@ int vc4_mmap_bo_ioctl(struct drm_device
        struct drm_vc4_mmap_bo *args = data;
        struct drm_gem_object *gem_obj;
  
@@ -108,7 +108,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
                return -ENODEV;
  
        gem_obj = drm_gem_object_lookup(file_priv, args->handle);
-@@ -842,7 +842,7 @@ vc4_create_shader_bo_ioctl(struct drm_de
+@@ -846,7 +846,7 @@ vc4_create_shader_bo_ioctl(struct drm_de
        struct vc4_bo *bo = NULL;
        int ret;
  
@@ -117,7 +117,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
                return -ENODEV;
  
        if (args->size == 0)
-@@ -921,7 +921,7 @@ int vc4_set_tiling_ioctl(struct drm_devi
+@@ -925,7 +925,7 @@ int vc4_set_tiling_ioctl(struct drm_devi
        struct vc4_bo *bo;
        bool t_format;
  
@@ -126,7 +126,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
                return -ENODEV;
  
        if (args->flags != 0)
-@@ -967,7 +967,7 @@ int vc4_get_tiling_ioctl(struct drm_devi
+@@ -971,7 +971,7 @@ int vc4_get_tiling_ioctl(struct drm_devi
        struct drm_gem_object *gem_obj;
        struct vc4_bo *bo;
  
@@ -135,7 +135,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
                return -ENODEV;
  
        if (args->flags != 0 || args->modifier != 0)
-@@ -1010,7 +1010,7 @@ int vc4_bo_cache_init(struct drm_device
+@@ -1014,7 +1014,7 @@ int vc4_bo_cache_init(struct drm_device
        int ret;
        int i;
  
@@ -144,7 +144,7 @@ Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
                return -ENODEV;
  
        /* Create the initial set of BO labels that the kernel will
-@@ -1074,7 +1074,7 @@ int vc4_label_bo_ioctl(struct drm_device
+@@ -1078,7 +1078,7 @@ int vc4_label_bo_ioctl(struct drm_device
        struct drm_gem_object *gem_obj;
        int ret = 0, label;
  
index 5109a9879df3122855892090e766c6b915883ea4..5521586055f07d26986fde9850bdfe0d4a3f0f82 100644 (file)
@@ -31,7 +31,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/drivers/tty/serial/sc16is7xx.c
 +++ b/drivers/tty/serial/sc16is7xx.c
-@@ -1461,7 +1461,7 @@ static int sc16is7xx_setup_mctrl_ports(s
+@@ -1473,7 +1473,7 @@ static int sc16is7xx_setup_mctrl_ports(s
  }
  
  static const struct serial_rs485 sc16is7xx_rs485_supported = {
index 611919c9d14abca1cefa21bd6dc4a0d94ac70318..9910b49da1e7af6f7b4fbc04b52ca73ad3b5d8bf 100644 (file)
@@ -103,7 +103,7 @@ it on BCM4708 family.
        if (xhci->quirks & XHCI_NEC_HOST)
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1630,6 +1630,7 @@ struct xhci_hcd {
+@@ -1631,6 +1631,7 @@ struct xhci_hcd {
  #define XHCI_CDNS_SCTX_QUIRK  BIT_ULL(48)
  #define XHCI_ETRON_HOST       BIT_ULL(49)
  #define XHCI_LIMIT_ENDPOINT_INTERVAL_9 BIT_ULL(50)
index 381838d8ea013f4ad01f0f238e76c43f8ef7442b..496d6abb47bf91a0f6dd37e7b796c007b495901c 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Jens Axboe <axboe@kernel.dk>
 
 --- a/block/genhd.c
 +++ b/block/genhd.c
-@@ -383,16 +383,18 @@ int disk_scan_partitions(struct gendisk
+@@ -405,16 +405,18 @@ static void add_disk_final(struct gendis
  }
  
  /**
@@ -48,7 +48,7 @@ Signed-off-by: Jens Axboe <axboe@kernel.dk>
  
  {
        struct device *ddev = disk_to_dev(disk);
-@@ -452,6 +454,8 @@ int __must_check device_add_disk(struct
+@@ -474,6 +476,8 @@ int __must_check device_add_disk(struct
        ddev->parent = parent;
        ddev->groups = groups;
        dev_set_name(ddev, "%s", disk->disk_name);
@@ -57,7 +57,7 @@ Signed-off-by: Jens Axboe <axboe@kernel.dk>
        if (!(disk->flags & GENHD_FL_HIDDEN))
                ddev->devt = MKDEV(disk->major, disk->first_minor);
        ret = device_add(ddev);
-@@ -553,6 +557,22 @@ out_exit_elevator:
+@@ -557,6 +561,22 @@ out_exit_elevator:
                elevator_exit(disk->queue);
        return ret;
  }
index 8dc495bd0c4783efade27175e7d780d11957512a..4fd3f0c961783f2e51b1fb71bcf716ae71ed958f 100644 (file)
@@ -48,7 +48,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  void xpcs_get_interfaces(struct dw_xpcs *xpcs, unsigned long *interfaces)
  {
        int i, j;
-@@ -1365,6 +1392,7 @@ static const struct dw_xpcs_desc xpcs_de
+@@ -1347,6 +1374,7 @@ static const struct dw_xpcs_desc xpcs_de
  
  static const struct phylink_pcs_ops xpcs_phylink_ops = {
        .pcs_validate = xpcs_validate,
diff --git a/target/linux/generic/backport-6.12/620-v6.15-ppp-use-IFF_NO_QUEUE-in-virtual-interfaces.patch b/target/linux/generic/backport-6.12/620-v6.15-ppp-use-IFF_NO_QUEUE-in-virtual-interfaces.patch
deleted file mode 100644 (file)
index 65135a4..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-From: Qingfang Deng <dqfext@gmail.com>
-Date: Sat, 1 Mar 2025 21:55:16 +0800
-Subject: [PATCH] ppp: use IFF_NO_QUEUE in virtual interfaces
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-For PPPoE, PPTP, and PPPoL2TP, the start_xmit() function directly
-forwards packets to the underlying network stack and never returns
-anything other than 1. So these interfaces do not require a qdisc,
-and the IFF_NO_QUEUE flag should be set.
-
-Introduces a direct_xmit flag in struct ppp_channel to indicate when
-IFF_NO_QUEUE should be applied. The flag is set in ppp_connect_channel()
-for relevant protocols.
-
-While at it, remove the usused latency member from struct ppp_channel.
-
-Signed-off-by: Qingfang Deng <dqfext@gmail.com>
-Reviewed-by: Toke Høiland-Jørgensen <toke@redhat.com>
-Link: https://patch.msgid.link/20250301135517.695809-1-dqfext@gmail.com
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
----
-
---- a/drivers/net/ppp/ppp_generic.c
-+++ b/drivers/net/ppp/ppp_generic.c
-@@ -3507,6 +3507,10 @@ ppp_connect_channel(struct channel *pch,
-               ret = -ENOTCONN;
-               goto outl;
-       }
-+      if (pch->chan->direct_xmit)
-+              ppp->dev->priv_flags |= IFF_NO_QUEUE;
-+      else
-+              ppp->dev->priv_flags &= ~IFF_NO_QUEUE;
-       spin_unlock_bh(&pch->downl);
-       if (pch->file.hdrlen > ppp->file.hdrlen)
-               ppp->file.hdrlen = pch->file.hdrlen;
---- a/drivers/net/ppp/pppoe.c
-+++ b/drivers/net/ppp/pppoe.c
-@@ -699,6 +699,7 @@ static int pppoe_connect(struct socket *
-               po->chan.mtu = dev->mtu - sizeof(struct pppoe_hdr) - 2;
-               po->chan.private = sk;
-               po->chan.ops = &pppoe_chan_ops;
-+              po->chan.direct_xmit = true;
-               error = ppp_register_net_channel(dev_net(dev), &po->chan);
-               if (error) {
---- a/drivers/net/ppp/pptp.c
-+++ b/drivers/net/ppp/pptp.c
-@@ -469,6 +469,7 @@ static int pptp_connect(struct socket *s
-       po->chan.mtu -= PPTP_HEADER_OVERHEAD;
-       po->chan.hdrlen = 2 + sizeof(struct pptp_gre_header);
-+      po->chan.direct_xmit = true;
-       error = ppp_register_channel(&po->chan);
-       if (error) {
-               pr_err("PPTP: failed to register PPP channel (%d)\n", error);
---- a/include/linux/ppp_channel.h
-+++ b/include/linux/ppp_channel.h
-@@ -42,8 +42,7 @@ struct ppp_channel {
-       int             hdrlen;         /* amount of headroom channel needs */
-       void            *ppp;           /* opaque to channel */
-       int             speed;          /* transfer rate (bytes/second) */
--      /* the following is not used at present */
--      int             latency;        /* overhead time in milliseconds */
-+      bool            direct_xmit;    /* no qdisc, xmit directly */
- };
- #ifdef __KERNEL__
---- a/net/l2tp/l2tp_ppp.c
-+++ b/net/l2tp/l2tp_ppp.c
-@@ -796,6 +796,7 @@ static int pppol2tp_connect(struct socke
-       po->chan.private = sk;
-       po->chan.ops     = &pppol2tp_chan_ops;
-       po->chan.mtu     = pppol2tp_tunnel_mtu(tunnel);
-+      po->chan.direct_xmit    = true;
-       error = ppp_register_net_channel(sock_net(sk), &po->chan);
-       if (error) {
diff --git a/target/linux/generic/backport-6.12/621-v6.17-ppp-convert-to-percpu-netstats.patch b/target/linux/generic/backport-6.12/621-v6.17-ppp-convert-to-percpu-netstats.patch
deleted file mode 100644 (file)
index de9710e..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-From 1a3e9b7a6b09e8ab3d2af019e4a392622685855e Mon Sep 17 00:00:00 2001
-From: Qingfang Deng <dqfext@gmail.com>
-Date: Tue, 10 Jun 2025 16:32:10 +0800
-Subject: [PATCH] ppp: convert to percpu netstats
-
-Convert to percpu netstats to avoid lock contention when reading them.
-
-Signed-off-by: Qingfang Deng <dqfext@gmail.com>
-Link: https://patch.msgid.link/20250610083211.909015-1-dqfext@gmail.com
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
----
- drivers/net/ppp/ppp_generic.c | 52 +++++++++++++----------------------
- 1 file changed, 19 insertions(+), 33 deletions(-)
-
---- a/drivers/net/ppp/ppp_generic.c
-+++ b/drivers/net/ppp/ppp_generic.c
-@@ -108,18 +108,6 @@ struct ppp_file {
- #define PF_TO_CHANNEL(pf)     PF_TO_X(pf, struct channel)
- /*
-- * Data structure to hold primary network stats for which
-- * we want to use 64 bit storage.  Other network stats
-- * are stored in dev->stats of the ppp strucute.
-- */
--struct ppp_link_stats {
--      u64 rx_packets;
--      u64 tx_packets;
--      u64 rx_bytes;
--      u64 tx_bytes;
--};
--
--/*
-  * Data structure describing one ppp unit.
-  * A ppp unit corresponds to a ppp network interface device
-  * and represents a multilink bundle.
-@@ -162,7 +150,6 @@ struct ppp {
-       struct bpf_prog *active_filter; /* filter for pkts to reset idle */
- #endif /* CONFIG_PPP_FILTER */
-       struct net      *ppp_net;       /* the net we belong to */
--      struct ppp_link_stats stats64;  /* 64 bit network stats */
- };
- /*
-@@ -1544,23 +1531,12 @@ ppp_net_siocdevprivate(struct net_device
- static void
- ppp_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats64)
- {
--      struct ppp *ppp = netdev_priv(dev);
--
--      ppp_recv_lock(ppp);
--      stats64->rx_packets = ppp->stats64.rx_packets;
--      stats64->rx_bytes   = ppp->stats64.rx_bytes;
--      ppp_recv_unlock(ppp);
--
--      ppp_xmit_lock(ppp);
--      stats64->tx_packets = ppp->stats64.tx_packets;
--      stats64->tx_bytes   = ppp->stats64.tx_bytes;
--      ppp_xmit_unlock(ppp);
--
-       stats64->rx_errors        = dev->stats.rx_errors;
-       stats64->tx_errors        = dev->stats.tx_errors;
-       stats64->rx_dropped       = dev->stats.rx_dropped;
-       stats64->tx_dropped       = dev->stats.tx_dropped;
-       stats64->rx_length_errors = dev->stats.rx_length_errors;
-+      dev_fetch_sw_netstats(stats64, dev->tstats);
- }
- static int ppp_dev_init(struct net_device *dev)
-@@ -1658,6 +1634,7 @@ static void ppp_setup(struct net_device
-       dev->type = ARPHRD_PPP;
-       dev->flags = IFF_POINTOPOINT | IFF_NOARP | IFF_MULTICAST;
-       dev->priv_destructor = ppp_dev_priv_destructor;
-+      dev->pcpu_stat_type = NETDEV_PCPU_STAT_TSTATS;
-       netif_keep_dst(dev);
- }
-@@ -1803,8 +1780,7 @@ ppp_send_frame(struct ppp *ppp, struct s
- #endif /* CONFIG_PPP_FILTER */
-       }
--      ++ppp->stats64.tx_packets;
--      ppp->stats64.tx_bytes += skb->len - PPP_PROTO_LEN;
-+      dev_sw_netstats_tx_add(ppp->dev, 1, skb->len - PPP_PROTO_LEN);
-       switch (proto) {
-       case PPP_IP:
-@@ -2482,8 +2458,7 @@ ppp_receive_nonmp_frame(struct ppp *ppp,
-               break;
-       }
--      ++ppp->stats64.rx_packets;
--      ppp->stats64.rx_bytes += skb->len - 2;
-+      dev_sw_netstats_rx_add(ppp->dev, skb->len - PPP_PROTO_LEN);
-       npi = proto_to_npindex(proto);
-       if (npi < 0) {
-@@ -3311,14 +3286,25 @@ static void
- ppp_get_stats(struct ppp *ppp, struct ppp_stats *st)
- {
-       struct slcompress *vj = ppp->vj;
-+      int cpu;
-       memset(st, 0, sizeof(*st));
--      st->p.ppp_ipackets = ppp->stats64.rx_packets;
-+      for_each_possible_cpu(cpu) {
-+              struct pcpu_sw_netstats *p = per_cpu_ptr(ppp->dev->tstats, cpu);
-+              u64 rx_packets, rx_bytes, tx_packets, tx_bytes;
-+
-+              rx_packets = u64_stats_read(&p->rx_packets);
-+              rx_bytes = u64_stats_read(&p->rx_bytes);
-+              tx_packets = u64_stats_read(&p->tx_packets);
-+              tx_bytes = u64_stats_read(&p->tx_bytes);
-+
-+              st->p.ppp_ipackets += rx_packets;
-+              st->p.ppp_ibytes += rx_bytes;
-+              st->p.ppp_opackets += tx_packets;
-+              st->p.ppp_obytes += tx_bytes;
-+      }
-       st->p.ppp_ierrors = ppp->dev->stats.rx_errors;
--      st->p.ppp_ibytes = ppp->stats64.rx_bytes;
--      st->p.ppp_opackets = ppp->stats64.tx_packets;
-       st->p.ppp_oerrors = ppp->dev->stats.tx_errors;
--      st->p.ppp_obytes = ppp->stats64.tx_bytes;
-       if (!vj)
-               return;
-       st->vj.vjs_packets = vj->sls_o_compressed + vj->sls_o_uncompressed;
index 7f3261d1859937a91fb55353ea8ba49afe900a37..a2d65ef8b1c47da62aa5141cc6838ce050026dde 100644 (file)
@@ -36,9 +36,9 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 -      rwlock_t        upl;            /* protects `ppp' and 'bridge' */
 +      spinlock_t      upl;            /* protects `ppp' and 'bridge' */
        struct channel __rcu *bridge;   /* "bridged" ppp channel */
+       struct rcu_head rcu;            /* for RCU-deferred free of the channel */
  #ifdef CONFIG_PPP_MULTILINK
-       u8              avail;          /* flag used in multilink stuff */
-@@ -639,34 +639,34 @@ static struct bpf_prog *compat_ppp_get_f
+@@ -640,34 +640,34 @@ static struct bpf_prog *compat_ppp_get_f
   */
  static int ppp_bridge_channels(struct channel *pch, struct channel *pchb)
  {
@@ -83,7 +83,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        synchronize_rcu();
  
        if (pchb)
-@@ -680,25 +680,25 @@ static int ppp_unbridge_channels(struct
+@@ -681,25 +681,25 @@ static int ppp_unbridge_channels(struct
  {
        struct channel *pchb, *pchbb;
  
@@ -114,7 +114,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        synchronize_rcu();
  
-@@ -2147,10 +2147,9 @@ static int ppp_mp_explode(struct ppp *pp
+@@ -2172,10 +2172,9 @@ static int ppp_mp_explode(struct ppp *pp
  #endif /* CONFIG_PPP_MULTILINK */
  
  /* Try to send data out on a channel */
@@ -126,7 +126,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        spin_lock(&pch->downl);
        if (pch->chan) {
-@@ -2169,7 +2168,6 @@ static void __ppp_channel_push(struct ch
+@@ -2194,7 +2193,6 @@ static void __ppp_channel_push(struct ch
        spin_unlock(&pch->downl);
        /* see if there is anything from the attached unit to be sent */
        if (skb_queue_empty(&pch->file.xq)) {
@@ -134,7 +134,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                if (ppp)
                        __ppp_xmit_process(ppp, NULL);
        }
-@@ -2177,15 +2175,18 @@ static void __ppp_channel_push(struct ch
+@@ -2202,15 +2200,18 @@ static void __ppp_channel_push(struct ch
  
  static void ppp_channel_push(struct channel *pch)
  {
@@ -160,7 +160,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  }
  
  /*
-@@ -2287,6 +2288,7 @@ void
+@@ -2312,6 +2313,7 @@ void
  ppp_input(struct ppp_channel *chan, struct sk_buff *skb)
  {
        struct channel *pch = chan->ppp;
@@ -168,7 +168,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        int proto;
  
        if (!pch) {
-@@ -2298,18 +2300,19 @@ ppp_input(struct ppp_channel *chan, stru
+@@ -2323,18 +2325,19 @@ ppp_input(struct ppp_channel *chan, stru
        if (ppp_channel_bridge_input(pch, skb))
                return;
  
@@ -193,7 +193,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                /* put it on the channel queue */
                skb_queue_tail(&pch->file.rq, skb);
                /* drop old frames if queue too long */
-@@ -2318,11 +2321,11 @@ ppp_input(struct ppp_channel *chan, stru
+@@ -2343,11 +2346,11 @@ ppp_input(struct ppp_channel *chan, stru
                        kfree_skb(skb);
                wake_up_interruptible(&pch->file.rwait);
        } else {
@@ -207,7 +207,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  }
  
  /* Put a 0-length skb in the receive queue as an error indication */
-@@ -2331,20 +2334,22 @@ ppp_input_error(struct ppp_channel *chan
+@@ -2356,20 +2359,22 @@ ppp_input_error(struct ppp_channel *chan
  {
        struct channel *pch = chan->ppp;
        struct sk_buff *skb;
@@ -234,7 +234,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  }
  
  /*
-@@ -2892,7 +2897,6 @@ int ppp_register_net_channel(struct net
+@@ -2917,7 +2922,6 @@ int ppp_register_net_channel(struct net
  
        pn = ppp_pernet(net);
  
@@ -242,7 +242,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        pch->chan = chan;
        pch->chan_net = get_net_track(net, &pch->ns_tracker, GFP_KERNEL);
        chan->ppp = pch;
-@@ -2903,7 +2907,7 @@ int ppp_register_net_channel(struct net
+@@ -2928,7 +2932,7 @@ int ppp_register_net_channel(struct net
  #endif /* CONFIG_PPP_MULTILINK */
        init_rwsem(&pch->chan_sem);
        spin_lock_init(&pch->downl);
@@ -251,7 +251,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        spin_lock_bh(&pn->all_channels_lock);
        pch->file.index = ++pn->last_channel_index;
-@@ -2932,13 +2936,15 @@ int ppp_channel_index(struct ppp_channel
+@@ -2957,13 +2961,15 @@ int ppp_channel_index(struct ppp_channel
  int ppp_unit_number(struct ppp_channel *chan)
  {
        struct channel *pch = chan->ppp;
@@ -271,7 +271,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        }
        return unit;
  }
-@@ -2950,12 +2956,14 @@ char *ppp_dev_name(struct ppp_channel *c
+@@ -2975,12 +2981,14 @@ char *ppp_dev_name(struct ppp_channel *c
  {
        struct channel *pch = chan->ppp;
        char *name = NULL;
@@ -290,7 +290,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        }
        return name;
  }
-@@ -3478,9 +3486,9 @@ ppp_connect_channel(struct channel *pch,
+@@ -3505,9 +3513,9 @@ ppp_connect_channel(struct channel *pch,
        ppp = ppp_find_unit(pn, unit);
        if (!ppp)
                goto out;
@@ -302,7 +302,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
            rcu_dereference_protected(pch->bridge, lockdep_is_held(&pch->upl)))
                goto outl;
  
-@@ -3505,13 +3513,13 @@ ppp_connect_channel(struct channel *pch,
+@@ -3532,13 +3540,13 @@ ppp_connect_channel(struct channel *pch,
                ppp->dev->hard_header_len = hdrlen;
        list_add_tail_rcu(&pch->clist, &ppp->channels);
        ++ppp->n_channels;
@@ -318,7 +318,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
   out:
        mutex_unlock(&pn->all_ppp_mutex);
        return ret;
-@@ -3526,10 +3534,9 @@ ppp_disconnect_channel(struct channel *p
+@@ -3553,10 +3561,9 @@ ppp_disconnect_channel(struct channel *p
        struct ppp *ppp;
        int err = -EINVAL;
  
index eec1a98d29bb3c85ad7af6a295f31d4b3bd4f0e9..82d67bf978b7796ff1167f82c1eaee2ec3414443 100644 (file)
@@ -230,7 +230,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                if (error < 0)
                        goto err_put;
  
-@@ -1058,11 +1070,11 @@ static inline struct pppox_sock *pppoe_g
+@@ -1059,11 +1071,11 @@ static inline struct pppox_sock *pppoe_g
        int i;
  
        for (i = 0; i < PPPOE_HASH_SIZE; i++) {
@@ -244,7 +244,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                }
        }
  
-@@ -1071,19 +1083,19 @@ out:
+@@ -1072,19 +1084,19 @@ out:
  }
  
  static void *pppoe_seq_start(struct seq_file *seq, loff_t *pos)
@@ -267,7 +267,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  
        ++*pos;
        if (v == SEQ_START_TOKEN) {
-@@ -1091,14 +1103,15 @@ static void *pppoe_seq_next(struct seq_f
+@@ -1092,14 +1104,15 @@ static void *pppoe_seq_next(struct seq_f
                goto out;
        }
        po = v;
@@ -286,7 +286,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
                        if (po)
                                break;
                }
-@@ -1109,10 +1122,9 @@ out:
+@@ -1110,10 +1123,9 @@ out:
  }
  
  static void pppoe_seq_stop(struct seq_file *seq, void *v)
@@ -299,7 +299,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  }
  
  static const struct seq_operations pppoe_seq_ops = {
-@@ -1155,7 +1167,7 @@ static __net_init int pppoe_init_net(str
+@@ -1156,7 +1168,7 @@ static __net_init int pppoe_init_net(str
        struct pppoe_net *pn = pppoe_pernet(net);
        struct proc_dir_entry *pde;
  
diff --git a/target/linux/generic/backport-6.12/625-v7.0-ppp-enable-TX-scatter-gather.patch b/target/linux/generic/backport-6.12/625-v7.0-ppp-enable-TX-scatter-gather.patch
deleted file mode 100644 (file)
index 6804ade..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-From 42fcb213e58a7da33d5d2d7517b4e521025c68c3 Mon Sep 17 00:00:00 2001
-From: Qingfang Deng <dqfext@gmail.com>
-Date: Thu, 29 Jan 2026 09:29:02 +0800
-Subject: [PATCH] ppp: enable TX scatter-gather
-
-PPP channels using chan->direct_xmit prepend the PPP header to a skb and
-call dev_queue_xmit() directly. In this mode the skb does not need to be
-linear, but the PPP netdevice currently does not advertise
-scatter-gather features, causing unnecessary linearization and
-preventing GSO.
-
-Enable NETIF_F_SG and NETIF_F_FRAGLIST on PPP devices. In case a linear
-buffer is required (PPP compression, multilink, and channels without
-direct_xmit), call skb_linearize() explicitly.
-
-Signed-off-by: Qingfang Deng <dqfext@gmail.com>
-Link: https://patch.msgid.link/20260129012902.941-1-dqfext@gmail.com
-Signed-off-by: Paolo Abeni <pabeni@redhat.com>
----
- drivers/net/ppp/ppp_generic.c | 30 +++++++++++++++++++++++++-----
- 1 file changed, 25 insertions(+), 5 deletions(-)
-
---- a/drivers/net/ppp/ppp_generic.c
-+++ b/drivers/net/ppp/ppp_generic.c
-@@ -1635,6 +1635,8 @@ static void ppp_setup(struct net_device
-       dev->flags = IFF_POINTOPOINT | IFF_NOARP | IFF_MULTICAST;
-       dev->priv_destructor = ppp_dev_priv_destructor;
-       dev->pcpu_stat_type = NETDEV_PCPU_STAT_TSTATS;
-+      dev->features = NETIF_F_SG | NETIF_F_FRAGLIST;
-+      dev->hw_features = dev->features;
-       netif_keep_dst(dev);
- }
-@@ -1699,6 +1701,10 @@ pad_compress_skb(struct ppp *ppp, struct
-               ppp->xcomp->comp_extra + ppp->dev->hard_header_len;
-       int compressor_skb_size = ppp->dev->mtu +
-               ppp->xcomp->comp_extra + PPP_HDRLEN;
-+
-+      if (skb_linearize(skb))
-+              return NULL;
-+
-       new_skb = alloc_skb(new_skb_size, GFP_ATOMIC);
-       if (!new_skb) {
-               if (net_ratelimit())
-@@ -1786,6 +1792,10 @@ ppp_send_frame(struct ppp *ppp, struct s
-       case PPP_IP:
-               if (!ppp->vj || (ppp->flags & SC_COMP_TCP) == 0)
-                       break;
-+
-+              if (skb_linearize(skb))
-+                      goto drop;
-+
-               /* try to do VJ TCP header compression */
-               new_skb = alloc_skb(skb->len + ppp->dev->hard_header_len - 2,
-                                   GFP_ATOMIC);
-@@ -1883,19 +1893,26 @@ ppp_push(struct ppp *ppp)
-       }
-       if ((ppp->flags & SC_MULTILINK) == 0) {
-+              struct ppp_channel *chan;
-               /* not doing multilink: send it down the first channel */
-               list = list->next;
-               pch = list_entry(list, struct channel, clist);
-               spin_lock(&pch->downl);
--              if (pch->chan) {
--                      if (pch->chan->ops->start_xmit(pch->chan, skb))
--                              ppp->xmit_pending = NULL;
--              } else {
--                      /* channel got unregistered */
-+              chan = pch->chan;
-+              if (unlikely(!chan || (!chan->direct_xmit && skb_linearize(skb)))) {
-+                      /* channel got unregistered, or it requires a linear
-+                       * skb but linearization failed
-+                       */
-                       kfree_skb(skb);
-                       ppp->xmit_pending = NULL;
-+                      goto out;
-               }
-+
-+              if (chan->ops->start_xmit(chan, skb))
-+                      ppp->xmit_pending = NULL;
-+
-+out:
-               spin_unlock(&pch->downl);
-               return;
-       }
-@@ -1980,6 +1997,8 @@ static int ppp_mp_explode(struct ppp *pp
-               return 0; /* can't take now, leave it in xmit_pending */
-       /* Do protocol field compression */
-+      if (skb_linearize(skb))
-+              goto err_linearize;
-       p = skb->data;
-       len = skb->len;
-       if (*p == 0 && mp_protocol_compress) {
-@@ -2138,6 +2157,7 @@ static int ppp_mp_explode(struct ppp *pp
-  noskb:
-       spin_unlock(&pch->downl);
-+ err_linearize:
-       if (ppp->debug & 1)
-               netdev_err(ppp->dev, "PPP: no memory (fragment)\n");
-       ++ppp->dev->stats.tx_errors;
index 0244e09521500c81d95c5ec8082f041b1319790c..bc082b536ade5ee38689214e6979a361a03e46f6 100644 (file)
@@ -41,7 +41,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
                goto drop;
  
        ph = pppoe_hdr(skb);
-@@ -1182,6 +1183,160 @@ static struct pernet_operations pppoe_ne
+@@ -1183,6 +1184,160 @@ static struct pernet_operations pppoe_ne
        .size = sizeof(struct pppoe_net),
  };
  
@@ -202,7 +202,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
  static int __init pppoe_init(void)
  {
        int err;
-@@ -1198,6 +1353,8 @@ static int __init pppoe_init(void)
+@@ -1199,6 +1354,8 @@ static int __init pppoe_init(void)
        if (err)
                goto out_unregister_pppoe_proto;
  
@@ -211,7 +211,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
        dev_add_pack(&pppoes_ptype);
        dev_add_pack(&pppoed_ptype);
        register_netdevice_notifier(&pppoe_notifier);
-@@ -1217,6 +1374,8 @@ static void __exit pppoe_exit(void)
+@@ -1218,6 +1375,8 @@ static void __exit pppoe_exit(void)
        unregister_netdevice_notifier(&pppoe_notifier);
        dev_remove_pack(&pppoed_ptype);
        dev_remove_pack(&pppoes_ptype);
index d73fe1b9ab5c3aa4abfa05539864f0a890b62aee..29ffd3b7102b3eaae4da7a9621c05abd978929f9 100644 (file)
@@ -1537,7 +1537,6 @@ CONFIG_DQL=y
 # CONFIG_DRM_ITE_IT6505 is not set
 # CONFIG_DRM_ITE_IT66121 is not set
 # CONFIG_DRM_KOMEDA is not set
-# CONFIG_DRM_LIB_RANDOM is not set
 # CONFIG_DRM_LIMA is not set
 # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
 # CONFIG_DRM_LOGICVC is not set
@@ -2300,6 +2299,7 @@ CONFIG_GPIO_SYSFS=y
 # CONFIG_GPIO_XILINX is not set
 # CONFIG_GPIO_XRA1403 is not set
 # CONFIG_GPIO_ZEVIO is not set
+# CONFIG_GPU_BUDDY is not set
 # CONFIG_GP_PCI1XXXX is not set
 # CONFIG_GREENASIA_FF is not set
 # CONFIG_GREYBUS is not set
index 0dad9006d7fd1b05c01db81840952435497dac0d..ad164406db9f43b67c24baa5f60e7990437afffd 100644 (file)
@@ -10,7 +10,7 @@ Subject: [PATCH] Kconfig: add tristate for OID and ASNI string
 
 --- a/init/Kconfig
 +++ b/init/Kconfig
-@@ -2067,7 +2067,7 @@ config PADATA
+@@ -2070,7 +2070,7 @@ config PADATA
        bool
  
  config ASN1
index d5a68d681bb8ac6fdcbc118a7995a211a8542f48..81927c566494ada75dfb28ce105ec4887368c9a3 100644 (file)
@@ -91,7 +91,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
  
  #include "mtdcore.h"
  
-@@ -1109,6 +1110,8 @@ int mtd_device_parse_register(struct mtd
+@@ -1124,6 +1125,8 @@ int mtd_device_parse_register(struct mtd
                register_reboot_notifier(&mtd->reboot_notifier);
        }
  
index 1b17c2fe8829e40b22446dc179b43b6574f3937a..23f78397c63ef5d7489cbdb837f9715f30604d6b 100644 (file)
@@ -12,7 +12,7 @@ Signed-off-by: RafaÅ‚ MiÅ‚ecki <rafal@milecki.pl>
 
 --- a/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
-@@ -780,7 +780,8 @@ int add_mtd_device(struct mtd_info *mtd)
+@@ -787,7 +787,8 @@ int add_mtd_device(struct mtd_info *mtd)
  
        mutex_unlock(&mtd_table_mutex);
  
index af8dbc6a5a027439e929a1dfd5b082db94f32cb9..72e413d04f659b15c9d0e0514a996dbcc859c869 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.12 = .100
-LINUX_KERNEL_HASH-6.12.100 = 67f973533406492e86774bacbcefae50d50d5c34cbf703c47ec526a5efdcee90
+LINUX_VERSION-6.12 = .102
+LINUX_KERNEL_HASH-6.12.102 = 694bb5f49371323ab9c2b7040bd358ed81bffbe80b372d76507045828f655803
index a47479b7cac0dce96392cdca7a2e43671984b073..c196de96013e127edb8e919e51fe6b6f88ff8094 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/Makefile
 +++ b/Makefile
-@@ -594,7 +594,7 @@ export RUSTC_BOOTSTRAP := 1
+@@ -599,7 +599,7 @@ export RUSTC_BOOTSTRAP := 1
  # Allows finding `.clippy.toml` in out-of-srctree builds.
  export CLIPPY_CONF_DIR := $(srctree)
  
index 5e9a0da5856429889fe0d4b0a7038769da2faeb9..ffa46de0e8fff2769be495b59ea0214d0377397f 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/init/Kconfig
 +++ b/init/Kconfig
-@@ -1537,6 +1537,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
+@@ -1540,6 +1540,17 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
          the unaligned access emulation.
          see arch/parisc/kernel/unaligned.c for reference
  
diff --git a/target/linux/generic/pending-6.12/303-powerpc-85xx-Add-fsl-ifc-to-common-device-ids.patch b/target/linux/generic/pending-6.12/303-powerpc-85xx-Add-fsl-ifc-to-common-device-ids.patch
deleted file mode 100644 (file)
index b6ea534..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-From mboxrd@z Thu Jan  1 00:00:00 1970
-Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171])
-       (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
-       (No client certificate requested)
-       by smtp.subspace.kernel.org (Postfix) with ESMTPS id E21C8288505
-       for <linux-kernel@vger.kernel.org>; Thu,  4 Jun 2026 04:33:28 +0000 (UTC)
-Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171
-ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;
-       t=1780547610; cv=none; b=etyZo0OyhUqjP7uilzMxrxpciaSPMfy/bjTlRJHKQAVZI7wfiKIcSseI0qLKxs+ZZVXjSBVb9XkRx6wv1J1tIhnX1B05x7wsAalhdNQ2U3MXPMry/UQyOqdm4dZCOXmgH7QyBgOj6R2Wut8H6BOXXL1xNBaepv3/mcpBY70BCHA=
-ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org;
-       s=arc-20240116; t=1780547610; c=relaxed/simple;
-       bh=znsYbCd3J/zBJf011rGd2IwHfSBduyyknRNq8tHCn3o=;
-       h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=LL42+GGikVgj/uqwqIGA6MOyAJ2UH8mIKVUrBuOZeDUP0W7r1OSGkX3MVBDGP4RdtMa1POOtKgZKq3HmV4cukhDmptrDr4/apZewmR6iiuVkE/5npQPI3uvRDToL7+1tLQiEInfsIhepbOeJhKJVN9ooBQc0vsM0BqfLIKuVAUE=
-ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=IpyqsAnz; arc=none smtp.client-ip=209.85.214.171
-Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com
-Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com
-Authentication-Results: smtp.subspace.kernel.org;
-       dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IpyqsAnz"
-Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2bf1f074a12so3135465ad.0
-        for <linux-kernel@vger.kernel.org>; Wed, 03 Jun 2026 21:33:28 -0700 (PDT)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
-        d=gmail.com; s=20251104; t=1780547608; x=1781152408; darn=vger.kernel.org;
-        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
-         :to:from:from:to:cc:subject:date:message-id:reply-to;
-        bh=nzzlPlmRDjR3Sm37Uj3XzYfzUGKs2aHK4Uo/5tRTKUQ=;
-        b=IpyqsAnzHBguWHykAHZ7XZ3pFVlC8Y28/fNGSwfIgWy6Hn0B9MSoyPYTISj79X2wBX
-         MNpWmG8arCfnNC/Un+B1pm/MYhwACbdblNMWEiBHx39rbz1VTTV1g2zCX1pCl9MavgT5
-         hReYo62WmMHykCgwFieZcZ/M7+8+o2RvKACVDZc8Me+vF6Gb8u/pfz+8TpQ6r4ReU0i4
-         oOwa+EyyFxO6zklNtjSJjf8SQz0NIFJG296oAalZzp33yIvB/4JFURNhizKwvkL48d31
-         +M97V3QevBz2Fr4xs9npsNH2hhdWe+YyT34oEwlbtHqGpMyHqUbGXj8AXxFfKBgqxYAE
-         9uxQ==
-X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
-        d=1e100.net; s=20251104; t=1780547608; x=1781152408;
-        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
-         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date
-         :message-id:reply-to;
-        bh=nzzlPlmRDjR3Sm37Uj3XzYfzUGKs2aHK4Uo/5tRTKUQ=;
-        b=aYJeS8qfh/ocavnM0jpvlOpXjFo5GLLUgPkTCz1EqmZsHXRfeicLk1ZTho/CQs+zzB
-         c325qbG7oXLiPQ3dkZovafQDOMkAmALoEga/2xlfS1V9GLaLAdPP8kFvllumvAvPyMyg
-         o96U7iGqvBTCaRtUM2iwGIpDERtzzFrZR6Ce7y953zWEqabcC4+R8sGLodpGu4k+GmxK
-         1S+jLF0vMBR27+5ZDaDl0oevhjBb2z0um04waB/wMdyCBE2fIqi2PdQqIVSR3SfRA6jQ
-         BTJQfJE3COEnHv3CFxB96oNuvI7DjRB06k3RI4ZLPMPtikPhTjXD/oRL9vRT1BYvx+9Q
-         5T1Q==
-X-Forwarded-Encrypted: i=1; AFNElJ9RQSSGteY/jh+TH8qQkMTRr2RrY74VLc0V8PJaR74DrpGzoCyYbVqjZCIMow6+zw2kzQwUxO/sijCpZ4Y=@vger.kernel.org
-X-Gm-Message-State: AOJu0YwqtfHGNvtfQFSYlveHZ/f53XAwpOc2PXM0Fs/UwOmBIE0a8qel
-       SqMJ/WAyhlkR3QHUSRskvVfM+Shorkq5SE/o5/MZqQJqsYPIepLu19B7
-X-Gm-Gg: Acq92OEnoGF4ajpv1R0u26KX429aPMVUmLN/uIRHCUpeWQZ1YB3icXJkScnkgZCTJQd
-       7yvQwTGjtk847ZsX64fH/pYvpTbdQTPpoh8H0WbsR41zh6wcFBbOJATd+qwuRPmetPoTXZeTTY6
-       uyQhj75BwMCj3pp8/i7Cr2xDqih2EtoXXbS2AnOWUxORbhJ2ML04COV3pNvuSND4g/qRTleU6ib
-       zKWK6glAzpTp+eIEE3cZzuJV6fjy2rhxX9MR2z4mHe8BkI6kYDioGv4CnCFmXpZ80MbjKOlN7k/
-       baOAAuFTy2uoYvtkhmt0kgAkd+gsh12vtrtGmNHCPaGeNIHn6qtUZVcmMpIUmTZ4F9RnSPv4CKw
-       NhL5m20J1urrYbQ2FAZf+Nur0izzWfTyKO78IvYkfK3m70cm6rL5i0lsjbQZ3tAK7FjfVqxYrsU
-       qzXoiA1z9Unam6tvdvJUtcPNNuy6d6uaBaY5krITunAVJ6hF/ym0XuOoSzF4UXRXcYTO09vgfTp
-       L0dwz3a1Fk8yIVWfFTVsQnDvsI9c6QZjP298LPpomNUl8ZcmxOaF2iJ
-X-Received: by 2002:a17:903:1786:b0:2c0:c38d:9d37 with SMTP id d9443c01a7336-2c163d92f23mr64816865ad.25.1780547608050;
-        Wed, 03 Jun 2026 21:33:28 -0700 (PDT)
-Received: from ryzen ([2601:644:8000:5b5d:7285:c2ff:fe45:8a32])
-        by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c85df0a63b3sm3503663a12.21.2026.06.03.21.33.26
-        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
-        Wed, 03 Jun 2026 21:33:27 -0700 (PDT)
-From: Rosen Penev <rosenp@gmail.com>
-To: linuxppc-dev@lists.ozlabs.org
-Cc: Scott Wood <oss@buserror.net>,
-       Madhavan Srinivasan <maddy@linux.ibm.com>,
-       Michael Ellerman <mpe@ellerman.id.au>,
-       Nicholas Piggin <npiggin@gmail.com>,
-       "Christophe Leroy (CS GROUP)" <chleroy@kernel.org>,
-       Frank Li <Frank.Li@nxp.com>,
-       Li Yang <leoyang.li@nxp.com>,
-       linux-kernel@vger.kernel.org (open list)
-Subject: [PATCH] powerpc/85xx: Add fsl,ifc to common device ids
-Date: Wed,  3 Jun 2026 21:33:09 -0700
-Message-ID: <20260604043309.91280-1-rosenp@gmail.com>
-X-Mailer: git-send-email 2.54.0
-Precedence: bulk
-X-Mailing-List: linux-kernel@vger.kernel.org
-List-Id: <linux-kernel.vger.kernel.org>
-List-Subscribe: <mailto:linux-kernel+subscribe@vger.kernel.org>
-List-Unsubscribe: <mailto:linux-kernel+unsubscribe@vger.kernel.org>
-MIME-Version: 1.0
-Content-Transfer-Encoding: 8bit
-
-Add fsl,ifc to mpc85xx_common_ids so that of_platform_bus_probe
-creates a platform device for the IFC node even without 'simple-bus'
-in its compatible property. On P1010 and similar platforms the IFC
-node is a direct child of the root, so it must be explicitly matched
-to be populated.
-
-Fixes: 0bf51cc9e9e5 ("powerpc: dts: mpc85xx: remove simple-bus compatible from ifc node")
-
-Assisted-by: opencode:big-pickle
-Signed-off-by: Rosen Penev <rosenp@gmail.com>
----
- arch/powerpc/platforms/85xx/common.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/arch/powerpc/platforms/85xx/common.c
-+++ b/arch/powerpc/platforms/85xx/common.c
-@@ -42,6 +42,8 @@ static const struct of_device_id mpc85xx
-       { .compatible = "fsl,qoriq-pcie-v2.3", },
-       { .compatible = "fsl,qoriq-pcie-v2.2", },
-       { .compatible = "fsl,fman", },
-+      /* IFC NAND and NOR controllers */
-+      { .compatible = "fsl,ifc", },
-       {},
- };
index 78c634ba2492389be9a7e028d3c19ca11b57f110..b894dd976c2559154856f3e944d729b718074419 100644 (file)
@@ -80,7 +80,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
 
 --- a/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
-@@ -199,6 +199,15 @@ static ssize_t mtd_erasesize_show(struct
+@@ -208,6 +208,15 @@ static ssize_t mtd_erasesize_show(struct
  }
  MTD_DEVICE_ATTR_RO(erasesize);
  
@@ -96,7 +96,7 @@ Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
  static ssize_t mtd_writesize_show(struct device *dev,
                struct device_attribute *attr, char *buf)
  {
-@@ -344,6 +353,7 @@ static struct attribute *mtd_attrs[] = {
+@@ -353,6 +362,7 @@ static struct attribute *mtd_attrs[] = {
        &dev_attr_flags.attr,
        &dev_attr_size.attr,
        &dev_attr_erasesize.attr,
index 0d69783990b262e03292aefef446876fb2d8c65a..86635cfd4e1aea9630173bfcecddf006b1659c80 100644 (file)
@@ -424,7 +424,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  }
  
  static int ip6_tnl_newlink(struct net *src_net, struct net_device *dev,
-@@ -2088,6 +2307,12 @@ static void ip6_tnl_dellink(struct net_d
+@@ -2091,6 +2310,12 @@ static void ip6_tnl_dellink(struct net_d
  
  static size_t ip6_tnl_get_size(const struct net_device *dev)
  {
@@ -437,7 +437,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        return
                /* IFLA_IPTUN_LINK */
                nla_total_size(4) +
-@@ -2117,6 +2342,24 @@ static size_t ip6_tnl_get_size(const str
+@@ -2120,6 +2345,24 @@ static size_t ip6_tnl_get_size(const str
                nla_total_size(0) +
                /* IFLA_IPTUN_FWMARK */
                nla_total_size(4) +
@@ -462,7 +462,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
                0;
  }
  
-@@ -2124,6 +2367,9 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2127,6 +2370,9 @@ static int ip6_tnl_fill_info(struct sk_b
  {
        struct ip6_tnl *tunnel = netdev_priv(dev);
        struct __ip6_tnl_parm *parm = &tunnel->parms;
@@ -472,7 +472,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
  
        if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) ||
            nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) ||
-@@ -2133,9 +2379,27 @@ static int ip6_tnl_fill_info(struct sk_b
+@@ -2136,9 +2382,27 @@ static int ip6_tnl_fill_info(struct sk_b
            nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) ||
            nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) ||
            nla_put_u8(skb, IFLA_IPTUN_PROTO, parm->proto) ||
@@ -501,7 +501,7 @@ Signed-off-by: Steven Barth <cyrus@openwrt.org>
        if (nla_put_u16(skb, IFLA_IPTUN_ENCAP_TYPE, tunnel->encap.type) ||
            nla_put_be16(skb, IFLA_IPTUN_ENCAP_SPORT, tunnel->encap.sport) ||
            nla_put_be16(skb, IFLA_IPTUN_ENCAP_DPORT, tunnel->encap.dport) ||
-@@ -2175,6 +2439,7 @@ static const struct nla_policy ip6_tnl_p
+@@ -2178,6 +2442,7 @@ static const struct nla_policy ip6_tnl_p
        [IFLA_IPTUN_ENCAP_DPORT]        = { .type = NLA_U16 },
        [IFLA_IPTUN_COLLECT_METADATA]   = { .type = NLA_FLAG },
        [IFLA_IPTUN_FWMARK]             = { .type = NLA_U32 },
index 59868b2a5352a3e21b255985769f8fab2cf527f7..090bfe9b0a9d44f286fd3b1df955e1c98bb34807 100644 (file)
@@ -55,7 +55,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  }
 --- a/net/netfilter/nft_flow_offload.c
 +++ b/net/netfilter/nft_flow_offload.c
-@@ -494,47 +494,14 @@ static struct nft_expr_type nft_flow_off
+@@ -493,47 +493,14 @@ static struct nft_expr_type nft_flow_off
        .owner          = THIS_MODULE,
  };
  
index d07b282e25d38a934f711a794b85d0b9594b382d..cc72006ebfa8fa0bbde81dbe42bd5b45878df564 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/netfilter/nf_tables_api.c
 +++ b/net/netfilter/nf_tables_api.c
-@@ -8724,7 +8724,7 @@ static int nft_register_flowtable_net_ho
+@@ -8508,7 +8508,7 @@ static int nft_register_flowtable_net_ho
                err = flowtable->data.type->setup(&flowtable->data,
                                                  hook->ops.dev,
                                                  FLOW_BLOCK_BIND);
index d3bde406558e4a41b546f78085a0789d2230f74a..8582199c1e57f6a46d5f42eeec614f35dde4dab6 100644 (file)
@@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/drivers/net/ethernet/mediatek/Kconfig
 +++ b/drivers/net/ethernet/mediatek/Kconfig
-@@ -26,7 +26,6 @@ config NET_MEDIATEK_SOC
+@@ -18,7 +18,6 @@ config NET_MEDIATEK_SOC
        select PHYLINK
        select DIMLIB
        select PAGE_POOL
index ea8f34ae8538ff5869c56fd0ad3066ef0bd74b3a..88e206b06986439fd3a70a28c6175efccc2c77ed 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
-@@ -4827,6 +4838,9 @@ void __ata_qc_complete(struct ata_queued
+@@ -4845,6 +4856,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 &&
-@@ -5556,6 +5570,9 @@ struct ata_port *ata_port_alloc(struct a
+@@ -5574,6 +5588,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);
-@@ -5572,6 +5589,12 @@ void ata_port_free(struct ata_port *ap)
+@@ -5590,6 +5607,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);
-@@ -5976,7 +5999,23 @@ int ata_host_register(struct ata_host *h
+@@ -5994,7 +6017,23 @@ int ata_host_register(struct ata_host *h
                WARN_ON(1);
                return -EINVAL;
        }
index 636bf8f90e40da660c04d0a80950bc3a0356f530..c2c41d8b137796af8f769cf426c5b389eda32731 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
 
 --- a/init/Kconfig
 +++ b/init/Kconfig
-@@ -1891,6 +1891,15 @@ config ARCH_HAS_MEMBARRIER_CALLBACKS
+@@ -1894,6 +1894,15 @@ config ARCH_HAS_MEMBARRIER_CALLBACKS
  config ARCH_HAS_MEMBARRIER_SYNC_CORE
        bool
  
@@ -31,7 +31,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
        help
 --- a/init/main.c
 +++ b/init/main.c
-@@ -633,6 +633,29 @@ static inline void setup_nr_cpu_ids(void
+@@ -588,6 +588,29 @@ static inline void setup_nr_cpu_ids(void
  static inline void smp_prepare_cpus(unsigned int maxcpus) { }
  #endif
  
@@ -61,7 +61,7 @@ Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
  /*
   * We need to store the untouched command line for future reference.
   * We also need to store the touched command line since the parameter
-@@ -938,6 +961,7 @@ void start_kernel(void)
+@@ -893,6 +916,7 @@ void start_kernel(void)
        jump_label_init();
        static_call_init();
        early_security_init();
index 7f008f6baf10ebfb694f8022423670c487590ac3..3697ed79fbc67b07e3c7091e7a4a79f7e3a743d3 100644 (file)
@@ -177,7 +177,7 @@ Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
  #include <linux/percpu.h>
  #include <linux/kmod.h>
  #include <linux/kprobes.h>
-@@ -972,6 +973,17 @@ void start_kernel(void)
+@@ -927,6 +928,17 @@ void start_kernel(void)
  
        pr_notice("Kernel command line: %s\n", saved_command_line);
        /* parameters may set static keys */
index d101e07676f0fcb7fe22394a37584595df9d5a60..21247c206415af84cafc1c5a4f973f0f8b8e1269 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: haoming.chen <haoming.chen@siflower.com.cn>
 
 --- a/drivers/net/ethernet/Kconfig
 +++ b/drivers/net/ethernet/Kconfig
-@@ -201,5 +201,6 @@ source "drivers/net/ethernet/wangxun/Kco
+@@ -202,5 +202,6 @@ source "drivers/net/ethernet/wangxun/Kco
  source "drivers/net/ethernet/wiznet/Kconfig"
  source "drivers/net/ethernet/xilinx/Kconfig"
  source "drivers/net/ethernet/xircom/Kconfig"
@@ -20,7 +20,7 @@ Signed-off-by: haoming.chen <haoming.chen@siflower.com.cn>
  endif # ETHERNET
 --- a/drivers/net/ethernet/Makefile
 +++ b/drivers/net/ethernet/Makefile
-@@ -105,4 +105,5 @@ obj-$(CONFIG_NET_VENDOR_XILINX) += xilin
+@@ -106,4 +106,5 @@ obj-$(CONFIG_NET_VENDOR_XILINX) += xilin
  obj-$(CONFIG_NET_VENDOR_XIRCOM) += xircom/
  obj-$(CONFIG_NET_VENDOR_SYNOPSYS) += synopsys/
  obj-$(CONFIG_NET_VENDOR_PENSANDO) += pensando/