kernel: bump 6.6 to 6.6.57
authorJohn Audia <therealgraysky@proton.me>
Thu, 17 Oct 2024 23:46:24 +0000 (19:46 -0400)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 19 Oct 2024 14:21:32 +0000 (16:21 +0200)
1. Update target/linux/generic/config-6.6 for new ksym
2. Refresh patches

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.57

Added:
generic/backport-6.6/777-netfilter-xtables-fix-typo-causing-some-targets-to-not-load-on-IPv6.patch[1]

Manually rebased:
generic/hack-6.6/645-netfilter-connmark-introduce-set-dscpmark.patch

Removed upstreamed:
gemini/patches-6.6/0001-net-ethernet-cortina-Drop-TSO-support.patch[2]
gemini/patches-6.6/0004-net-ethernet-cortina-Restore-TSO-support.patch[3]

All other patches automatically rebased.

1. https://lore.kernel.org/all/20241019-xtables-typos-v2-1-6b8b1735dc8e@0upti.me/
2 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.57&id=452c0740d72c6a77a41f6ddc318a48f18c3d2346
3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.57&id=611f74b0e7fb93ee2366d9d7edca546806b220e9

Build system: x86/64
Build-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: x86/64/AMD Cezanne, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/16726
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
27 files changed:
include/kernel-6.6
target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch
target/linux/bcm27xx/patches-6.6/950-0061-Revert-Revert-xhci-add-quirk-for-host-controllers-th.patch
target/linux/bcm27xx/patches-6.6/950-0169-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch
target/linux/bcm27xx/patches-6.6/950-0482-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
target/linux/bcm27xx/patches-6.6/950-0483-usb-xhci-borrow-upstream-TRB_FETCH-quirk-on-VL805-ho.patch
target/linux/bcm27xx/patches-6.6/950-0484-usb-xhci-add-VLI_SS_BULK_OUT_BUG-quirk.patch
target/linux/bcm27xx/patches-6.6/950-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch
target/linux/bcm27xx/patches-6.6/950-0519-usb-dwc3-Set-DMA-and-coherent-masks-early.patch
target/linux/bcm27xx/patches-6.6/950-0550-hwmon-Add-RP1-ADC-and-temperature-driver.patch
target/linux/bcm27xx/patches-6.6/950-0585-drm-vc4-Introduce-generation-number-enum.patch
target/linux/bcm27xx/patches-6.6/950-0586-drm-vc4-Make-v3d-paths-unavailable-on-any-generation.patch
target/linux/bcm27xx/patches-6.6/950-0853-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch
target/linux/bcm27xx/patches-6.6/950-1141-fs-ntfs3-Fix-memory-corruption-when-page_size-change.patch
target/linux/gemini/patches-6.6/0001-net-ethernet-cortina-Drop-TSO-support.patch [deleted file]
target/linux/gemini/patches-6.6/0004-net-ethernet-cortina-Restore-TSO-support.patch [deleted file]
target/linux/generic/backport-6.6/777-netfilter-xtables-fix-typo-causing-some-targets-to-not-load-on-IPv6.patch [new file with mode: 0644]
target/linux/generic/backport-6.6/835-v6.9-net-phy-add-support-for-PHY-LEDs-polarity-modes.patch
target/linux/generic/backport-6.6/841-v6.13-net-phy-support-active-high-property-for-PHY-LEDs.patch
target/linux/generic/config-6.6
target/linux/generic/hack-6.6/645-netfilter-connmark-introduce-set-dscpmark.patch
target/linux/generic/pending-6.6/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch
target/linux/lantiq/patches-6.6/0001-MIPS-lantiq-add-pcie-driver.patch
target/linux/mvebu/patches-6.6/903-drivers-hwmon-Add-the-IEI-WT61P803-PUZZLE-HWMON-driv.patch
target/linux/ramips/patches-6.6/840-serial-add-ugly-custom-baud-rate-hack.patch
target/linux/ramips/patches-6.6/850-awake-rt305x-dwc2-controller.patch
target/linux/rockchip/patches-6.6/034-v6.7-usb-dwc3-add-optional-PHY-interface-clocks.patch

index 6f72804b870d7e75d48317754ecc34ff713d1113..a5048a4e6f46a8cce9c2861eeebf121ef47d33a3 100644 (file)
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.6 = .56
-LINUX_KERNEL_HASH-6.6.56 = f74812f78e88992c416434cb107639e13a551dbaff36bb90d6346ab16ab71a95
+LINUX_VERSION-6.6 = .57
+LINUX_KERNEL_HASH-6.6.57 = 66ce426ef96f99b8e1ef7ac72e780c730ef8b970f7aa5708501c4274d7abb7b3
index 720c3bfcddcc9d9c5add7dabd2a44de3530b8412..c5b01b7daddfc42d288172789137fc3424ba1fa6 100644 (file)
@@ -751,7 +751,7 @@ SVN-Revision: 35130
  EXPORT_SYMBOL(xfrm_parse_spi);
 --- a/net/ipv4/tcp_input.c
 +++ b/net/ipv4/tcp_input.c
-@@ -4221,14 +4221,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -4262,14 +4262,16 @@ static bool tcp_parse_aligned_timestamp(
  {
        const __be32 *ptr = (const __be32 *)(th + 1);
  
index 9470fb96943033cc61849aa2c3d0bb215463fff8..1135b31d4f6222803db8e079352a830ae2615bc5 100644 (file)
@@ -14,7 +14,7 @@ We don't agree with upstream revert so undo it.
 
 --- a/drivers/usb/host/xhci-pci.c
 +++ b/drivers/usb/host/xhci-pci.c
-@@ -489,8 +489,10 @@ static void xhci_pci_quirks(struct devic
+@@ -490,8 +490,10 @@ static void xhci_pci_quirks(struct devic
                        pdev->device == 0x3432)
                xhci->quirks |= XHCI_BROKEN_STREAMS;
  
index 8a04903f7d3b8ab9cbb65609606e1441323d7bc5..5301066196f53bf181c23cb27c5b042cad7437e2 100644 (file)
@@ -23,7 +23,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
 
 --- a/drivers/hid/hid-ids.h
 +++ b/drivers/hid/hid-ids.h
-@@ -239,6 +239,9 @@
+@@ -242,6 +242,9 @@
  #define USB_VENDOR_ID_BAANTO          0x2453
  #define USB_DEVICE_ID_BAANTO_MT_190W2 0x0100
  
@@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.org>
  #define USB_VENDOR_ID_BELKIN          0x050d
  #define USB_DEVICE_ID_FLIP_KVM                0x3201
  
-@@ -1394,6 +1397,9 @@
+@@ -1404,6 +1407,9 @@
  #define USB_VENDOR_ID_XIAOMI          0x2717
  #define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014
  
index 948610d576365bebad14653df91080ab53e42647..ca49ada4e79107e96b1eb594ba1f2a4e958b9391 100644 (file)
@@ -24,7 +24,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
 
 --- a/drivers/usb/host/xhci-pci.c
 +++ b/drivers/usb/host/xhci-pci.c
-@@ -492,6 +492,7 @@ static void xhci_pci_quirks(struct devic
+@@ -493,6 +493,7 @@ static void xhci_pci_quirks(struct devic
        if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) {
                xhci->quirks |= XHCI_LPM_SUPPORT;
                xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
index db805590694682fb4a7e89d91c604f423fdf1417..e76a413d67f09d3a25856a82c2b9e8996e79cb6b 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
 
 --- a/drivers/usb/host/xhci-pci.c
 +++ b/drivers/usb/host/xhci-pci.c
-@@ -493,6 +493,7 @@ static void xhci_pci_quirks(struct devic
+@@ -494,6 +494,7 @@ static void xhci_pci_quirks(struct devic
                xhci->quirks |= XHCI_LPM_SUPPORT;
                xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
                xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
index 9af7fc81764f0bdb6554d0bf5c5526c6f6158260..a7d255db40adf88884c54f9b5da9b6329665bd55 100644 (file)
@@ -90,7 +90,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        /* Allow 3 retries for everything but isoc, set CErr = 3 */
 --- a/drivers/usb/host/xhci-pci.c
 +++ b/drivers/usb/host/xhci-pci.c
-@@ -494,6 +494,7 @@ static void xhci_pci_quirks(struct devic
+@@ -495,6 +495,7 @@ static void xhci_pci_quirks(struct devic
                xhci->quirks |= XHCI_EP_CTX_BROKEN_DCS;
                xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
                xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH;
index 45cf1b57255a8297c51692f5724f392b8ca9adfa..935ed89c08faea5e37941c5c850bc5d35c18095a 100644 (file)
@@ -47,7 +47,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  /* Device for a quirk */
  #define PCI_VENDOR_ID_FRESCO_LOGIC    0x1b73
  #define PCI_DEVICE_ID_FRESCO_LOGIC_PDK        0x1000
-@@ -294,6 +296,16 @@ static int xhci_pci_reinit(struct xhci_h
+@@ -295,6 +297,16 @@ static int xhci_pci_reinit(struct xhci_h
        return 0;
  }
  
@@ -64,7 +64,7 @@ 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);
-@@ -495,6 +507,8 @@ static void xhci_pci_quirks(struct devic
+@@ -496,6 +508,8 @@ static void xhci_pci_quirks(struct devic
                xhci->quirks |= XHCI_AVOID_DQ_ON_LINK;
                xhci->quirks |= XHCI_ZHAOXIN_TRB_FETCH;
                xhci->quirks |= XHCI_VLI_SS_BULK_OUT_BUG;
index f771fc87506e6ebc7d9d06dee154163a2386b67f..7d3a139a776107356a1f370aa9c961290e22b2a1 100644 (file)
@@ -212,7 +212,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        },
 --- a/drivers/usb/dwc3/core.c
 +++ b/drivers/usb/dwc3/core.c
-@@ -1202,6 +1202,24 @@ static void dwc3_config_threshold(struct
+@@ -1208,6 +1208,24 @@ static void dwc3_config_threshold(struct
        }
  }
  
@@ -237,7 +237,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
  /**
   * dwc3_core_init - Low-level initialization of DWC3 Core
   * @dwc: Pointer to our controller context structure
-@@ -1267,6 +1285,8 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1273,6 +1291,8 @@ static int dwc3_core_init(struct dwc3 *d
  
        dwc3_set_incr_burst_type(dwc);
  
@@ -246,7 +246,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        ret = dwc3_phy_power_on(dwc);
        if (ret)
                goto err_exit_phy;
-@@ -1356,6 +1376,24 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1362,6 +1382,24 @@ static int dwc3_core_init(struct dwc3 *d
  
        dwc3_config_threshold(dwc);
  
@@ -271,7 +271,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        return 0;
  
  err_power_off_phy:
-@@ -1499,6 +1537,7 @@ static void dwc3_get_properties(struct d
+@@ -1505,6 +1543,7 @@ static void dwc3_get_properties(struct d
        u8                      tx_thr_num_pkt_prd = 0;
        u8                      tx_max_burst_prd = 0;
        u8                      tx_fifo_resize_max_num;
@@ -279,7 +279,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        const char              *usb_psy_name;
        int                     ret;
  
-@@ -1521,6 +1560,9 @@ static void dwc3_get_properties(struct d
+@@ -1527,6 +1566,9 @@ static void dwc3_get_properties(struct d
         */
        tx_fifo_resize_max_num = 6;
  
@@ -289,7 +289,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        dwc->maximum_speed = usb_get_maximum_speed(dev);
        dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev);
        dwc->dr_mode = usb_get_dr_mode(dev);
-@@ -1642,6 +1684,9 @@ static void dwc3_get_properties(struct d
+@@ -1648,6 +1690,9 @@ static void dwc3_get_properties(struct d
        dwc->dis_split_quirk = device_property_read_bool(dev,
                                "snps,dis-split-quirk");
  
@@ -299,7 +299,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        dwc->lpm_nyet_threshold = lpm_nyet_threshold;
        dwc->tx_de_emphasis = tx_de_emphasis;
  
-@@ -1659,6 +1704,8 @@ static void dwc3_get_properties(struct d
+@@ -1665,6 +1710,8 @@ static void dwc3_get_properties(struct d
        dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd;
        dwc->tx_max_burst_prd = tx_max_burst_prd;
  
@@ -308,7 +308,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
        dwc->imod_interval = 0;
  
        dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num;
-@@ -1934,6 +1981,12 @@ static int dwc3_probe(struct platform_de
+@@ -1940,6 +1987,12 @@ static int dwc3_probe(struct platform_de
  
        dwc3_get_properties(dwc);
  
index ca71f80a146e9056d8d0d14271ab1bdff4df5cd6..2a68b62c30daa6be1aba63549ea84c919a59d957 100644 (file)
@@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
 
 --- a/drivers/hwmon/Kconfig
 +++ b/drivers/hwmon/Kconfig
-@@ -2367,6 +2367,13 @@ config SENSORS_INTEL_M10_BMC_HWMON
+@@ -2371,6 +2371,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 ce5361905be915cf40812fd55b6f94412c42f541..0e810a1f4e11ac1fbd6854f22a052102a371302a 100644 (file)
@@ -832,7 +832,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
                return;
  
        mutex_init(&vc4file->perfmon.lock);
-@@ -126,7 +126,7 @@ void vc4_perfmon_close_file(struct vc4_f
+@@ -131,7 +131,7 @@ void vc4_perfmon_close_file(struct vc4_f
  {
        struct vc4_dev *vc4 = vc4file->dev;
  
@@ -841,7 +841,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
                return;
  
        mutex_lock(&vc4file->perfmon.lock);
-@@ -146,7 +146,7 @@ int vc4_perfmon_create_ioctl(struct drm_
+@@ -151,7 +151,7 @@ int vc4_perfmon_create_ioctl(struct drm_
        unsigned int i;
        int ret;
  
@@ -850,7 +850,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
                return -ENODEV;
  
        if (!vc4->v3d) {
-@@ -200,7 +200,7 @@ int vc4_perfmon_destroy_ioctl(struct drm
+@@ -205,7 +205,7 @@ int vc4_perfmon_destroy_ioctl(struct drm
        struct drm_vc4_perfmon_destroy *req = data;
        struct vc4_perfmon *perfmon;
  
@@ -859,7 +859,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
                return -ENODEV;
  
        if (!vc4->v3d) {
-@@ -228,7 +228,7 @@ int vc4_perfmon_get_values_ioctl(struct
+@@ -233,7 +233,7 @@ int vc4_perfmon_get_values_ioctl(struct
        struct vc4_perfmon *perfmon;
        int ret;
  
index 04aa4bc0bb922c5382becc20070511ada5efd688..9ab0a6d15229b44870bca28b782b6e3767ac12c9 100644 (file)
@@ -432,7 +432,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
                return;
  
        mutex_init(&vc4file->perfmon.lock);
-@@ -126,7 +126,7 @@ void vc4_perfmon_close_file(struct vc4_f
+@@ -131,7 +131,7 @@ void vc4_perfmon_close_file(struct vc4_f
  {
        struct vc4_dev *vc4 = vc4file->dev;
  
@@ -441,7 +441,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
                return;
  
        mutex_lock(&vc4file->perfmon.lock);
-@@ -146,7 +146,7 @@ int vc4_perfmon_create_ioctl(struct drm_
+@@ -151,7 +151,7 @@ int vc4_perfmon_create_ioctl(struct drm_
        unsigned int i;
        int ret;
  
@@ -450,7 +450,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
                return -ENODEV;
  
        if (!vc4->v3d) {
-@@ -200,7 +200,7 @@ int vc4_perfmon_destroy_ioctl(struct drm
+@@ -205,7 +205,7 @@ int vc4_perfmon_destroy_ioctl(struct drm
        struct drm_vc4_perfmon_destroy *req = data;
        struct vc4_perfmon *perfmon;
  
@@ -459,7 +459,7 @@ Signed-off-by: Maxime Ripard <maxime@cerno.tech>
                return -ENODEV;
  
        if (!vc4->v3d) {
-@@ -228,7 +228,7 @@ int vc4_perfmon_get_values_ioctl(struct
+@@ -233,7 +233,7 @@ int vc4_perfmon_get_values_ioctl(struct
        struct vc4_perfmon *perfmon;
        int ret;
  
index e089be3f37bb82c2ed045f163e6c2ab9d979e006..557bb033eff2507f77f57308fdd746f0a4ebe77e 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
 
 --- a/drivers/usb/dwc3/core.c
 +++ b/drivers/usb/dwc3/core.c
-@@ -1366,6 +1366,9 @@ static int dwc3_core_init(struct dwc3 *d
+@@ -1372,6 +1372,9 @@ static int dwc3_core_init(struct dwc3 *d
                if (dwc->parkmode_disable_hs_quirk)
                        reg |= DWC3_GUCTL1_PARKMODE_DISABLE_HS;
  
@@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
                if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY) &&
                    (dwc->maximum_speed == USB_SPEED_HIGH ||
                     dwc->maximum_speed == USB_SPEED_FULL))
-@@ -1664,6 +1667,8 @@ static void dwc3_get_properties(struct d
+@@ -1670,6 +1673,8 @@ static void dwc3_get_properties(struct d
                                "snps,parkmode-disable-ss-quirk");
        dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev,
                                "snps,parkmode-disable-hs-quirk");
index b05a8276dfffb2471de9079d6a2a8e22060b3683..304922391092103789c9eb98f638eb0baecf0742 100644 (file)
@@ -25,7 +25,7 @@ Signed-off-by: Dom Cobley <popcornmix@gmail.com>
 
 --- a/fs/ntfs3/fslog.c
 +++ b/fs/ntfs3/fslog.c
-@@ -3914,6 +3914,8 @@ check_restart_area:
+@@ -3929,6 +3929,8 @@ check_restart_area:
                log->l_size = log->orig_file_size;
                log->page_size = norm_file_page(t32, &log->l_size,
                                                t32 == DefaultLogPageSize);
diff --git a/target/linux/gemini/patches-6.6/0001-net-ethernet-cortina-Drop-TSO-support.patch b/target/linux/gemini/patches-6.6/0001-net-ethernet-cortina-Drop-TSO-support.patch
deleted file mode 100644 (file)
index 6fbd048..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-From f8001196455311eb128fcafd98cb2050a70218df Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Sat, 6 Jan 2024 01:12:22 +0100
-Subject: [PATCH 4/4] net: ethernet: cortina: Drop TSO support
-
-The recent change to allow large frames without hardware checksumming
-slotted in software checksumming in the driver if hardware could not
-do it.
-
-This will however upset TSO (TCP Segment Offloading). Typical
-error dumps includes this:
-
-skb len=2961 headroom=222 headlen=66 tailroom=0
-(...)
-WARNING: CPU: 0 PID: 956 at net/core/dev.c:3259 skb_warn_bad_offload+0x7c/0x108
-gemini-ethernet-port: caps=(0x0000010000154813, 0x00002007ffdd7889)
-
-And the packets do not go through.
-
-The TSO implementation is bogus: a TSO enabled driver must propagate
-the skb_shinfo(skb)->gso_size value to the TSO engine on the NIC.
-
-Drop the size check and TSO offloading features for now: this
-needs to be fixed up properly.
-
-After this ethernet works fine on Gemini devices with a direct connected
-PHY such as D-Link DNS-313.
-
-Also tested to still be working with a DSA switch using the Gemini
-ethernet as conduit interface.
-
-Link: https://lore.kernel.org/netdev/CANn89iJLfxng1sYL5Zk0mknXpyYQPCp83m3KgD2KJ2_hKCpEUg@mail.gmail.com/
-Suggested-by: Eric Dumazet <edumazet@google.com>
-Fixes: d4d0c5b4d279 ("net: ethernet: cortina: Handle large frames")
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-Reviewed-by: Eric Dumazet <edumazet@google.com>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- drivers/net/ethernet/cortina/gemini.c | 15 ++-------------
- 1 file changed, 2 insertions(+), 13 deletions(-)
-
---- a/drivers/net/ethernet/cortina/gemini.c
-+++ b/drivers/net/ethernet/cortina/gemini.c
-@@ -79,8 +79,7 @@ MODULE_PARM_DESC(debug, "Debug level (0=
- #define GMAC0_IRQ4_8 (GMAC0_MIB_INT_BIT | GMAC0_RX_OVERRUN_INT_BIT)
- #define GMAC_OFFLOAD_FEATURES (NETIF_F_SG | NETIF_F_IP_CSUM | \
--              NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM | \
--              NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6)
-+                             NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM)
- /**
-  * struct gmac_queue_page - page buffer per-page info
-@@ -1148,23 +1147,13 @@ static int gmac_map_tx_bufs(struct net_d
-       struct gmac_txdesc *txd;
-       skb_frag_t *skb_frag;
-       dma_addr_t mapping;
--      unsigned short mtu;
-       void *buffer;
-       int ret;
--      mtu  = ETH_HLEN;
--      mtu += netdev->mtu;
--      if (skb->protocol == htons(ETH_P_8021Q))
--              mtu += VLAN_HLEN;
--
-+      /* TODO: implement proper TSO using MTU in word3 */
-       word1 = skb->len;
-       word3 = SOF_BIT;
--      if (word1 > mtu) {
--              word1 |= TSS_MTU_ENABLE_BIT;
--              word3 |= mtu;
--      }
--
-       if (skb->len >= ETH_FRAME_LEN) {
-               /* Hardware offloaded checksumming isn't working on frames
-                * bigger than 1514 bytes. A hypothesis about this is that the
diff --git a/target/linux/gemini/patches-6.6/0004-net-ethernet-cortina-Restore-TSO-support.patch b/target/linux/gemini/patches-6.6/0004-net-ethernet-cortina-Restore-TSO-support.patch
deleted file mode 100644 (file)
index 809941a..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-From 30fcba19ed88997a2909e4a68b4d39ff371357c3 Mon Sep 17 00:00:00 2001
-From: Linus Walleij <linus.walleij@linaro.org>
-Date: Wed, 1 May 2024 21:46:31 +0200
-Subject: [PATCH 1/5] net: ethernet: cortina: Restore TSO support
-
-An earlier commit deleted the TSO support in the Cortina Gemini
-driver because the driver was confusing gso_size and MTU,
-probably because what the Linux kernel calls "gso_size" was
-called "MTU" in the datasheet.
-
-Restore the functionality properly reading the gso_size from
-the skbuff.
-
-Tested with iperf3, running a server on a different machine
-and client on the device with the cortina gemini ethernet:
-
-Connecting to host 192.168.1.2, port 5201
-60008000.ethernet-port eth0: segment offloading mss = 05ea len=1c8a
-60008000.ethernet-port eth0: segment offloading mss = 05ea len=1c8a
-60008000.ethernet-port eth0: segment offloading mss = 05ea len=27da
-60008000.ethernet-port eth0: segment offloading mss = 05ea len=0b92
-60008000.ethernet-port eth0: segment offloading mss = 05ea len=2bda
-(...)
-
-(The hardware MSS 0x05ea here includes the ethernet headers.)
-
-If I disable all segment offloading on the receiving host and
-dump packets using tcpdump -xx like this:
-
-ethtool -K enp2s0 gro off gso off tso off
-tcpdump -xx -i enp2s0 host 192.168.1.136
-
-I get segmented packages such as this when running iperf3:
-
-23:16:54.024139 IP OpenWrt.lan.59168 > Fecusia.targus-getdata1:
-Flags [.], seq 1486:2934, ack 1, win 4198,
-options [nop,nop,TS val 3886192908 ecr 3601341877], length 1448
-0x0000:  fc34 9701 a0c6 14d6 4da8 3c4f 0800 4500
-0x0010:  05dc 16a0 4000 4006 9aa1 c0a8 0188 c0a8
-0x0020:  0102 e720 1451 ff25 9822 4c52 29cf 8010
-0x0030:  1066 ac8c 0000 0101 080a e7a2 990c d6a8
-(...)
-0x05c0:  5e49 e109 fe8c 4617 5e18 7a82 7eae d647
-0x05d0:  e8ee ae64 dc88 c897 3f8a 07a4 3a33 6b1b
-0x05e0:  3501 a30f 2758 cc44 4b4a
-
-Several such packets often follow after each other verifying
-the segmentation into 0x05a8 (1448) byte packages also on the
-reveiving end. As can be seen, the ethernet frames are
-0x05ea (1514) in size.
-
-Performance with iperf3 before this patch: ~15.5 Mbit/s
-Performance with iperf3 after this patch: ~175 Mbit/s
-
-This was running a 60 second test (twice) the best measurement
-was 179 Mbit/s.
-
-For comparison if I run iperf3 with UDP I get around 1.05 Mbit/s
-both before and after this patch.
-
-While this is a gigabit ethernet interface, the CPU is a cheap
-D-Link DIR-685 router (based on the ARMv5 Faraday FA526 at
-~50 MHz), and the software is not supposed to drive traffic,
-as the device has a DSA chip, so this kind of numbers can be
-expected.
-
-Fixes: ac631873c9e7 ("net: ethernet: cortina: Drop TSO support")
-Reviewed-by: Eric Dumazet <edumazet@google.com>
-Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
----
- drivers/net/ethernet/cortina/gemini.c | 23 +++++++++++++++++++----
- 1 file changed, 19 insertions(+), 4 deletions(-)
-
---- a/drivers/net/ethernet/cortina/gemini.c
-+++ b/drivers/net/ethernet/cortina/gemini.c
-@@ -79,7 +79,8 @@ MODULE_PARM_DESC(debug, "Debug level (0=
- #define GMAC0_IRQ4_8 (GMAC0_MIB_INT_BIT | GMAC0_RX_OVERRUN_INT_BIT)
- #define GMAC_OFFLOAD_FEATURES (NETIF_F_SG | NETIF_F_IP_CSUM | \
--                             NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM)
-+                             NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM | \
-+                             NETIF_F_TSO | NETIF_F_TSO_ECN | NETIF_F_TSO6)
- /**
-  * struct gmac_queue_page - page buffer per-page info
-@@ -1148,13 +1149,25 @@ static int gmac_map_tx_bufs(struct net_d
-       skb_frag_t *skb_frag;
-       dma_addr_t mapping;
-       void *buffer;
-+      u16 mss;
-       int ret;
--      /* TODO: implement proper TSO using MTU in word3 */
-       word1 = skb->len;
-       word3 = SOF_BIT;
--      if (skb->len >= ETH_FRAME_LEN) {
-+      mss = skb_shinfo(skb)->gso_size;
-+      if (mss) {
-+              /* This means we are dealing with TCP and skb->len is the
-+               * sum total of all the segments. The TSO will deal with
-+               * chopping this up for us.
-+               */
-+              /* The accelerator needs the full frame size here */
-+              mss += skb_tcp_all_headers(skb);
-+              netdev_dbg(netdev, "segment offloading mss = %04x len=%04x\n",
-+                         mss, skb->len);
-+              word1 |= TSS_MTU_ENABLE_BIT;
-+              word3 |= mss;
-+      } else if (skb->len >= ETH_FRAME_LEN) {
-               /* Hardware offloaded checksumming isn't working on frames
-                * bigger than 1514 bytes. A hypothesis about this is that the
-                * checksum buffer is only 1518 bytes, so when the frames get
-@@ -1169,7 +1182,9 @@ static int gmac_map_tx_bufs(struct net_d
-                               return ret;
-               }
-               word1 |= TSS_BYPASS_BIT;
--      } else if (skb->ip_summed == CHECKSUM_PARTIAL) {
-+      }
-+
-+      if (skb->ip_summed == CHECKSUM_PARTIAL) {
-               int tcp = 0;
-               /* We do not switch off the checksumming on non TCP/UDP
diff --git a/target/linux/generic/backport-6.6/777-netfilter-xtables-fix-typo-causing-some-targets-to-not-load-on-IPv6.patch b/target/linux/generic/backport-6.6/777-netfilter-xtables-fix-typo-causing-some-targets-to-not-load-on-IPv6.patch
new file mode 100644 (file)
index 0000000..d29c7d4
--- /dev/null
@@ -0,0 +1,43 @@
+Subject: [PATCH v2] netfilter: xtables: fix typo causing some targets to not load on IPv6
+Date: Sat, 19 Oct 2024 08:05:07 +0300  [thread overview]
+Message-ID: <20241019-xtables-typos-v2-1-6b8b1735dc8e@0upti.me> (raw)
+
+These were added with the wrong family in 4cdc55e, which seems
+to just have been a typo, but now ip6tables rules with --set-mark
+don't work anymore, which is pretty bad.
+
+Fixes: 0bfcb7b71e73 ("netfilter: xtables: avoid NFPROTO_UNSPEC where needed")
+Reviewed-by: Phil Sutter <phil@nwl.cc>
+Signed-off-by: Ilya Katsnelson <me@0upti.me>
+---
+Changes in v2:
+- Fixed a typo in the commit message (that's karma).
+- Replaced a reference to backport commit.
+- Link to v1: https://lore.kernel.org/r/20241018-xtables-typos-v1-1-02a51789c0ec@0upti.me
+---
+ net/netfilter/xt_NFLOG.c | 2 +-
+ net/netfilter/xt_mark.c  | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- a/net/netfilter/xt_NFLOG.c
++++ b/net/netfilter/xt_NFLOG.c
+@@ -79,7 +79,7 @@ static struct xt_target nflog_tg_reg[] _
+       {
+               .name       = "NFLOG",
+               .revision   = 0,
+-              .family     = NFPROTO_IPV4,
++              .family     = NFPROTO_IPV6,
+               .checkentry = nflog_tg_check,
+               .destroy    = nflog_tg_destroy,
+               .target     = nflog_tg,
+--- a/net/netfilter/xt_mark.c
++++ b/net/netfilter/xt_mark.c
+@@ -62,7 +62,7 @@ static struct xt_target mark_tg_reg[] __
+       {
+               .name           = "MARK",
+               .revision       = 2,
+-              .family         = NFPROTO_IPV4,
++              .family         = NFPROTO_IPV6,
+               .target         = mark_tg,
+               .targetsize     = sizeof(struct xt_mark_tginfo2),
+               .me             = THIS_MODULE,
index 104f961c02246b02881367baf6e5a325b8ec2df2..1fe0e3f890cc5ec5469d9e8c0b11a510a4b5a730 100644 (file)
@@ -28,7 +28,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
-@@ -3201,6 +3201,7 @@ static int of_phy_led(struct phy_device
+@@ -3202,6 +3202,7 @@ static int of_phy_led(struct phy_device
        struct device *dev = &phydev->mdio.dev;
        struct led_init_data init_data = {};
        struct led_classdev *cdev;
@@ -36,7 +36,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
        struct phy_led *phyled;
        u32 index;
        int err;
-@@ -3218,6 +3219,21 @@ static int of_phy_led(struct phy_device
+@@ -3219,6 +3220,21 @@ static int of_phy_led(struct phy_device
        if (index > U8_MAX)
                return -EINVAL;
  
index 02706ccd3f60c750d6bd74b0dcf3b1d0d80be621..729a31562337dca01bd8126112ba4eda283c316c 100644 (file)
@@ -19,7 +19,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
 
 --- a/drivers/net/phy/phy_device.c
 +++ b/drivers/net/phy/phy_device.c
-@@ -3219,11 +3219,17 @@ static int of_phy_led(struct phy_device
+@@ -3220,11 +3220,17 @@ static int of_phy_led(struct phy_device
        if (index > U8_MAX)
                return -EINVAL;
  
index a869d141a8a21950627ac85304eb1bda2e17c171..5403dbab9a3868c1fc702571b7522dffdd755d8b 100644 (file)
@@ -2288,6 +2288,7 @@ CONFIG_HARDEN_BRANCH_HISTORY=y
 # CONFIG_HID_MAGICMOUSE is not set
 # CONFIG_HID_MALTRON is not set
 # CONFIG_HID_MAYFLASH is not set
+# CONFIG_HID_MCP2200 is not set
 # CONFIG_HID_MCP2221 is not set
 # CONFIG_HID_MEGAWORLD_FF is not set
 # CONFIG_HID_MICROSOFT is not set
index 444f8edfea7ca2a844716489da6c06c3570ed423..bb802857d6b57bafdb57b2a6b2a2fff26733a399 100644 (file)
@@ -195,20 +195,37 @@ Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
  
        return connmark_tg_shift(skb, info);
  }
-@@ -167,6 +194,16 @@ static struct xt_target connmark_tg_reg[
-               .targetsize     = sizeof(struct xt_connmark_tginfo2),
+@@ -168,6 +195,16 @@ static struct xt_target connmark_tg_reg[
                .destroy        = connmark_tg_destroy,
                .me             = THIS_MODULE,
+       },
++      {
++              .name           = "CONNMARK",
++              .revision       = 3,
++              .family         = NFPROTO_IPV4,
++              .checkentry     = connmark_tg_check,
++              .target         = connmark_tg_v3,
++              .targetsize     = sizeof(struct xt_connmark_tginfo3),
++              .destroy        = connmark_tg_destroy,
++              .me             = THIS_MODULE,
 +      },
+ #if IS_ENABLED(CONFIG_IP6_NF_IPTABLES)
+       {
+               .name           = "CONNMARK",
+@@ -189,6 +226,16 @@ static struct xt_target connmark_tg_reg[
+               .destroy        = connmark_tg_destroy,
+               .me             = THIS_MODULE,
+       },
 +      {
 +              .name           = "CONNMARK",
 +              .revision       = 3,
-+              .family         = NFPROTO_UNSPEC,
++              .family         = NFPROTO_IPV6,
 +              .checkentry     = connmark_tg_check,
 +              .target         = connmark_tg_v3,
 +              .targetsize     = sizeof(struct xt_connmark_tginfo3),
 +              .destroy        = connmark_tg_destroy,
 +              .me             = THIS_MODULE,
-       }
++      },
+ #endif
  };
  
index 2e5d95643748df25aa9d211bc68a0d542d092906..96e1a19db4c7c15f13bda8be9cd02ef555c81e59 100644 (file)
@@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  struct rtnl_link {
        rtnl_doit_func          doit;
-@@ -4949,7 +4949,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
+@@ -4978,7 +4978,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 b796de9c119535bacedb7105ef1ef765dce6af9f..3dd996bccc8ef2819a0a81cae6c279108d32e805 100644 (file)
@@ -5535,7 +5535,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
                                         unsigned long type);
 --- a/include/linux/pci_ids.h
 +++ b/include/linux/pci_ids.h
-@@ -1108,6 +1108,12 @@
+@@ -1110,6 +1110,12 @@
  #define PCI_DEVICE_ID_SGI_IOC3                0x0003
  #define PCI_DEVICE_ID_SGI_LITHIUM     0x1002
  
index d4a533917b5dd76f38f716f203a6235e9412f0b7..983434e66620cf45b9800ef5f96cec75457e499b 100644 (file)
@@ -26,7 +26,7 @@ Cc: Robert Marko <robert.marko@sartura.hr>
 
 --- a/drivers/hwmon/Kconfig
 +++ b/drivers/hwmon/Kconfig
-@@ -783,6 +783,14 @@ config SENSORS_IBMPOWERNV
+@@ -785,6 +785,14 @@ config SENSORS_IBMPOWERNV
          This driver can also be built as a module. If so, the module
          will be called ibmpowernv.
  
index c21c286edf94c4d3f8a4652f62286e2f89956ef0..663a9bfe7dc5a473054c4339311fe1b27a9d1c10 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 
 --- a/drivers/tty/serial/serial_core.c
 +++ b/drivers/tty/serial/serial_core.c
-@@ -480,6 +480,9 @@ uart_get_baud_rate(struct uart_port *por
+@@ -482,6 +482,9 @@ uart_get_baud_rate(struct uart_port *por
                break;
        }
  
index a08056d8d9328f78690b22240f34ecd482d7f8dd..560a2efeacbab3edd7ba1e561b466b6b28438bda 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/usb/dwc2/platform.c
 +++ b/drivers/usb/dwc2/platform.c
-@@ -493,6 +493,12 @@ static int dwc2_driver_probe(struct plat
+@@ -481,6 +481,12 @@ static int dwc2_driver_probe(struct plat
        if (retval)
                return retval;
  
index 0583b70f89fb47e7595201a47911825f1d17d64b..3ae1c54ef2a057dfa6baaf24cf5b1c551813f0d8 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/drivers/usb/dwc3/core.c
 +++ b/drivers/usb/dwc3/core.c
-@@ -839,8 +839,20 @@ static int dwc3_clk_enable(struct dwc3 *
+@@ -845,8 +845,20 @@ static int dwc3_clk_enable(struct dwc3 *
        if (ret)
                goto disable_ref_clk;
  
@@ -39,7 +39,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  disable_ref_clk:
        clk_disable_unprepare(dwc->ref_clk);
  disable_bus_clk:
-@@ -850,6 +862,8 @@ disable_bus_clk:
+@@ -856,6 +868,8 @@ disable_bus_clk:
  
  static void dwc3_clk_disable(struct dwc3 *dwc)
  {
@@ -48,7 +48,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
        clk_disable_unprepare(dwc->susp_clk);
        clk_disable_unprepare(dwc->ref_clk);
        clk_disable_unprepare(dwc->bus_clk);
-@@ -1878,6 +1892,20 @@ static int dwc3_get_clocks(struct dwc3 *
+@@ -1884,6 +1898,20 @@ static int dwc3_get_clocks(struct dwc3 *
                }
        }