{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "org.jenkinsci.plugins.parameterizedscheduler.ParameterizedTimerTriggerCause",
          "shortDescription" : "Started by timer with parameters: {BUILD_CFG_TARGET_DEV=WR8750N/WR9500N/WG600HP (AR9344)}"
        }
      ]
    },
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.BooleanParameterValue",
          "name" : "BUILD_CFG_DISTCLEAN",
          "value" : True
        },
        {
          "_class" : "hudson.model.BooleanParameterValue",
          "name" : "BUILD_CFG_DIFFCONFIG",
          "value" : True
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "BUILD_CFG_TARGET_DEV",
          "value" : "WR8750N/WR9500N/WG600HP (AR9344)"
        }
      ]
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/main" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 500,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "43ec1e56b4d031854f9c76957e985417304b8846",
            "branch" : [
              {
                "SHA1" : "43ec1e56b4d031854f9c76957e985417304b8846",
                "name" : "refs/remotes/origin/main"
              }
            ]
          },
          "revision" : {
            "SHA1" : "43ec1e56b4d031854f9c76957e985417304b8846",
            "branch" : [
              {
                "SHA1" : "43ec1e56b4d031854f9c76957e985417304b8846",
                "name" : "refs/remotes/origin/main"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "43ec1e56b4d031854f9c76957e985417304b8846",
        "branch" : [
          {
            "SHA1" : "43ec1e56b4d031854f9c76957e985417304b8846",
            "name" : "refs/remotes/origin/main"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/openwrt/openwrt"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : "diffconfig: true, device: WR8750N/WR9500N/WG600HP (AR9344)",
  "displayName" : "#500",
  "duration" : 34508,
  "estimatedDuration" : 1655647,
  "executor" : None,
  "fullDisplayName" : "OpenWrt (master) for NEC Aterm (NetBSD based) #500",
  "id" : "500",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 500,
  "queueId" : 65,
  "result" : "FAILURE",
  "timestamp" : 1790811600461,
  "url" : "https://taiha.net/jenkins/view/all/job/OpenWrt-master-NEC-BSD-Aterm/500/",
  "builtOn" : "home-slave02_taihasv",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/kernel/mac80211/patches/rtl/001-wifi-rtw88-TX-report-with-long-timeout-for-non-PCIE-devices.patch",
          "package/kernel/mac80211/Makefile"
        ],
        "commitId" : "3ee349d4c6e45d4e20b0f0c6a194d952a35c6123",
        "timestamp" : 1790580290000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "mac80211: realtek: use long TX report timeout for non-PCIe\u000a\u000aSeveral rtw88 USB and SDIO chips do not always report the TX status of a\u000aframe within RTW_TX_PROBE_TIMEOUT (500 ms). The driver then drops the\u000atracking skbs and warns\u000a\u000a    rtw_8822bu 3-1:1.0: failed to get tx report from firmware\u000a\u000aevery one to three seconds on an access point serving clients that use\u000apower save. mac80211 never learns the ACK status of those frames, which\u000ahostapd uses to tell whether a polled station is still there.\u000a\u000aAdd the pending upstream patch that uses the 2500 ms timeout, so far\u000aapplied only to RTL8723DU, for every USB and SDIO device and keeps\u000a500 ms for PCIe. It is adapted to backports 7.2, which does not have\u000athe RTL8723BS condition yet.\u000a\u000aPending upstream, submitted to rtw-next:\u000ahttps://lore.kernel.org/linux-wireless/20260924004637.9958-1-pkshih@realtek.com/\u000a\u000aTested with backports 6.12.96 on a TP-Link Archer T4U v3 (RTL8812BU,\u000ahandled by rtw_8822bu) as a 2.4 GHz AP with six associated clients.\u000a\u000aSigned-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25303\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-28 09:24:50 +0200",
        "id" : "3ee349d4c6e45d4e20b0f0c6a194d952a35c6123",
        "msg" : "mac80211: realtek: use long TX report timeout for non-PCIe",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/kernel/mac80211/Makefile"
          },
          {
            "editType" : "add",
            "file" : "package/kernel/mac80211/patches/rtl/001-wifi-rtw88-TX-report-with-long-timeout-for-non-PCIE-devices.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ipq806x/dts/qcom-ipq8068-mr42.dts",
          "target/linux/ipq806x/dts/qcom-ipq8068-ap3935.dts",
          "target/linux/ipq806x/dts/qcom-ipq8065-nbg6817.dts",
          "target/linux/ipq806x/dts/qcom-ipq8064-unifi-ac-hd.dts",
          "target/linux/ipq806x/dts/qcom-ipq8068-ap-32x.dts",
          "target/linux/ipq806x/dts/qcom-ipq8062-wg2600hp3.dts",
          "target/linux/ipq806x/dts/qcom-ipq8065-nighthawk.dtsi",
          "target/linux/ipq806x/dts/qcom-ipq8068-ss-w2-ac2600.dts",
          "target/linux/ipq806x/dts/qcom-ipq8064-ap161.dts",
          "target/linux/ipq806x/dts/qcom-ipq8068-mr52.dts",
          "target/linux/ipq806x/dts/qcom-ipq8065-ac400i.dts",
          "target/linux/ipq806x/dts/qcom-ipq8068-ecw5410.dts"
        ],
        "commitId" : "313b5621815fff4600f7a9ac0ae7c2e36d52e035",
        "timestamp" : 1790591653000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "ipq806x: remove unused mdiobus property\u000a\u000aThe property dates back to the CAF snps_gmac driver, where it told the\u000aMAC which MDIO bus its PHY was on, and has been carried over from device\u000ato device since the driver was replaced by upstream stmmac in 2015.\u000aNothing in the tree parses it anymore.\u000a\u000aThe MDIO bus a PHY lives on is taken from the bus the phy node itself was\u000aregistered on, so the phy-handle references do not need the extra hint and\u000anothing changes functionally by dropping it.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25453\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-28 12:34:13 +0200",
        "id" : "313b5621815fff4600f7a9ac0ae7c2e36d52e035",
        "msg" : "ipq806x: remove unused mdiobus property",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/dts/qcom-ipq8065-nighthawk.dtsi"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/dts/qcom-ipq8062-wg2600hp3.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/dts/qcom-ipq8068-ss-w2-ac2600.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/dts/qcom-ipq8068-ap3935.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/dts/qcom-ipq8068-mr42.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/dts/qcom-ipq8064-unifi-ac-hd.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/dts/qcom-ipq8068-mr52.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/dts/qcom-ipq8068-ap-32x.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/dts/qcom-ipq8064-ap161.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/dts/qcom-ipq8065-ac400i.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/dts/qcom-ipq8065-nbg6817.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/dts/qcom-ipq8068-ecw5410.dts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ipq806x/base-files/etc/board.d/02_network"
        ],
        "commitId" : "72bb125aecad576df538cd81945ab9364ec830ba",
        "timestamp" : 1790591739000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "ipq806x: fix typos in network setup\u000a\u000aThe second parameter of ucidef_set_interface_lan is a mode setting like\u000adhcp, not an interface name. ucidef_set_interfaces_lan_wan should be\u000aused.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25455\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-28 12:35:39 +0200",
        "id" : "72bb125aecad576df538cd81945ab9364ec830ba",
        "msg" : "ipq806x: fix typos in network setup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/base-files/etc/board.d/02_network"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/boot/arm-trusted-firmware-mediatek/Makefile"
        ],
        "commitId" : "ff0c88e6c545508c9640ca6686e3e8cc6f31c470",
        "timestamp" : 1790597016000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "arm-trusted-firmware-mediatek: update to latest upstream HEAD\u000a\u000aTwo real commits since the previous pin:\u000a\u000amediatek: mt7622: move PMIC init before PLL/DRAM stage\u000a  Fixes a hang in DRAM calibration on reboot when cpufreq had lowered\u000a  Vcore before the reset, by moving PMIC init earlier so it no longer\u000a  depends on the Vcore level left over from the previous boot.\u000a\u000amediatek: mt7981, mt7986, mt7987, mt7988: add SMCCC TRNG support\u000a  Implements the standard SMCCC TRNG interface (upstream U-Boot\u000a  doesn't support the MTK-specific one, our uboot-mediatek does).\u000a  Tested on MT7981 by upstream; not yet verified on the other three\u000a  SoCs by upstream.\u000a\u000aMirror hash verified via an independent fresh clone of the pinned\u000acommit.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-28 13:03:36 +0100",
        "id" : "ff0c88e6c545508c9640ca6686e3e8cc6f31c470",
        "msg" : "arm-trusted-firmware-mediatek: update to latest upstream HEAD",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/boot/arm-trusted-firmware-mediatek/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/mkimage/patches/030-allow-to-use-different-magic.patch"
        ],
        "commitId" : "cec4e5acae22da72eee22f66fa582f7eb6ac5f38",
        "timestamp" : 1790597562000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "tools: mkimage: refresh patches\u000a\u000aRefresh mkimage patches, so that CI is happy.\u000a\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-28 14:12:42 +0200",
        "id" : "cec4e5acae22da72eee22f66fa582f7eb6ac5f38",
        "msg" : "tools: mkimage: refresh patches",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/mkimage/patches/030-allow-to-use-different-magic.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/qualcommax/patches-6.18/0092-v7.3-pinctrl-qcom-ipq5018-add-missing-pwm3-function-on-gpio13.patch",
          "target/linux/qualcommax/patches-6.18/0305-pinctrl-qcom-IPQ5018-update-pwm-groups.patch"
        ],
        "commitId" : "a1583148fc5092be7c6418e89ef5d96205fd77de",
        "timestamp" : 1790598098000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "qualcommax: ipq50xx: add missing pwm3 function on gpio13\u000a\u000aThe pinctrl driver leaves GPIO13's fourth function slot empty, so PWM3\u000acannot be routed there. The GL.iNet GL-X2000 drives its fan from PWM3 on\u000aGPIO13, and the stock firmware muxes the pin with select value 4:\u000a\u000a  gpio13 : out low  func4 8mA no pull\u000a  pin 13 (GPIO_13): 1941010.pwm function pwm3 group gpio13\u000a\u000aSelect value 4 corresponds to the empty slot, so add pwm3 there and list\u000agpio13 in pwm3_groups.\u000a\u000aAccepted upstream via pinctrl-qcom/for-current, so this can be dropped\u000aonce the kernel is bumped to 7.3 or later. The backport carries the\u000aupstream diff unchanged; 0305, which adds gpio30 to pwm3_groups\u000adownstream, is refreshed to apply on top of it.\u000a\u000aLink: https://patch.msgid.link/20260921093419.2870168-1-gilbertorconde@gmail.com\u000a\u000aSigned-off-by: Gilberto Conde <gilbertorconde@gmail.com>\u000a",
        "date" : "2026-09-28 14:21:38 +0200",
        "id" : "a1583148fc5092be7c6418e89ef5d96205fd77de",
        "msg" : "qualcommax: ipq50xx: add missing pwm3 function on gpio13",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/qualcommax/patches-6.18/0092-v7.3-pinctrl-qcom-ipq5018-add-missing-pwm3-function-on-gpio13.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/patches-6.18/0305-pinctrl-qcom-IPQ5018-update-pwm-groups.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "include/image-commands.mk",
          "target/linux/qualcommax/image/glinet_qsdk.bootscript",
          "target/linux/qualcommax/image/glinet_gl-b3000.bootscript",
          "target/linux/qualcommax/image/ipq50xx.mk"
        ],
        "commitId" : "20b25487f72b5132744f0c0879a7dabc7f9a7f3d",
        "timestamp" : 1790598098000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "qualcommax: ipq50xx: share GL.iNet factory bootscript\u000a\u000aThe U-Boot script embedded in the GL.iNet QSDK factory image hardcodes\u000athe GL-B3000 flash layout. Replace the UBI offset and size with\u000aplaceholders filled in by the gl-qsdk-factory recipe, so other GL.iNet\u000aboards with a different layout can use the same script.\u000a\u000aThe script is copied under a per-device name, which keeps the FIT\u000adescription unchanged and avoids devices overwriting each other's\u000asubstituted copy in KDIR_TMP.\u000a\u000aSigned-off-by: Gilberto Conde <gilbertorconde@gmail.com>\u000a",
        "date" : "2026-09-28 14:21:38 +0200",
        "id" : "20b25487f72b5132744f0c0879a7dabc7f9a7f3d",
        "msg" : "qualcommax: ipq50xx: share GL.iNet factory bootscript",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "target/linux/qualcommax/image/glinet_gl-b3000.bootscript"
          },
          {
            "editType" : "edit",
            "file" : "include/image-commands.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/image/ipq50xx.mk"
          },
          {
            "editType" : "add",
            "file" : "target/linux/qualcommax/image/glinet_qsdk.bootscript"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/qualcommax/ipq50xx/base-files/etc/board.d/03_set_oem_name",
          "target/linux/qualcommax/ipq50xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata",
          "target/linux/qualcommax/ipq50xx/base-files/etc/board.d/02_network",
          "target/linux/qualcommax/ipq50xx/base-files/lib/upgrade/platform.sh",
          "target/linux/qualcommax/dts/ipq5018-gl-x2000.dts",
          "package/firmware/ipq-wifi/Makefile",
          "target/linux/qualcommax/ipq50xx/base-files/etc/board.d/01_leds",
          "package/boot/uboot-tools/uboot-envtools/files/qualcommax_ipq50xx",
          "target/linux/qualcommax/image/ipq50xx.mk"
        ],
        "commitId" : "9e15f1f49353d57011649c91eb4f9659107d6422",
        "timestamp" : 1790598098000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "qualcommax: ipq50xx: add support for GL.iNet GL-X2000\u000a\u000aGL.iNet GL-X2000 (Spitz Plus) is a dual-SIM 4G LTE Wi-Fi 6 router.\u000a\u000aSpecifications:\u000a  SoC:      Qualcomm IPQ5018, dual-core Cortex-A53 @ 1.0 GHz\u000a  RAM:      512 MiB DDR3\u000a  Flash:    128 MiB SPI NAND (Winbond W25N01GWZEIG)\u000a  WLAN:     IPQ5018 2x2 2.4 GHz, QCN6122 2x2 5 GHz (802.11ax)\u000a  Ethernet: 1x GbE WAN (IPQ5018 internal GE PHY)\u000a            1x GbE LAN (Atheros AR8031, SGMII)\u000a  WWAN:     Quectel EG120K-EA, LTE Cat.12, USB 3.0 SuperSpeed\u000a  USB:      1x USB 2.0 host behind an internal hub\u000a  Buttons:  reset\u000a  LEDs:     power, internet, 2.4G, 5G, 4x signal strength\u000a  Serial:   3v3 TTL, 115200 8N1; 4-pin header labelled GND/RX/TX/3V3 on\u000a            the mainboard, under the Quectel module in the top right\u000a            corner. The case opens after pulling the four rubber feet\u000a  Power:    DC 9-35 V, shipped with a 12 V 2.5 A supply\u000a  Misc:     PWM fan, dual SIM slots (muxed inside the modem)\u000a\u000aThe base MAC address is stored at offset 0x6 of the 0:art partition; the\u000afirst six bytes are erased, which is why U-Boot reports the ART address as\u000ainvalid. WAN uses the base address (this is the one on the label), LAN\u000abase+1, the 2.4 GHz radio base+2 and the 5 GHz radio base+3. The ethernet\u000aaddresses come from nvmem cells. The board deliberately has no ethernetN\u000aaliases: GL.iNet's U-Boot uses them to write its own mac-address\u000aproperties into both GMAC nodes (a placeholder for WAN, the base address\u000afor LAN), which of_get_mac_address() would prefer over the nvmem cells.\u000a\u000aThe modem enumerates at SuperSpeed and therefore requires the IPQ5018 USB3\u000aUNIPHY, so both usbphy0 and usbphy1 are enabled. uqmi cannot communicate\u000awith this modem, so modemmanager has to be installed separately to use it.\u000a\u000aThe QCN6122 is wired to the second radio instance, so wifi@b00b040 with\u000auserpd3 is enabled rather than wifi@b00a040: the stock device tree enables\u000awifi2@/userpd3 and leaves wifi1@/userpd2 disabled. That instance places\u000aits BDF and M3 dump above the default q6 region, so the reserved region\u000ais grown accordingly.\u000a\u000aBoard data for the two radios is submitted separately to\u000afirmware_qca-wireless. It is taken from the stock firmware's wifi_fw\u000apartition, which is a squashfs image: bdwlan.b24 for the IPQ5018 2.4 GHz\u000aradio and qcn6122/bdwlan.b60 for the QCN6122 5 GHz radio, matching the\u000aqcom,board_id values of 0x24 and 0x60 that the stock device tree assigns\u000ato the respective radios. The two radios require distinct board data;\u000asharing a single BDF leaves the front-end misconfigured and the affected\u000aradio unable to transmit or receive at usable power.\u000a\u000aThe device tree started from the initial port by Hostle, was largely\u000arewritten by georgem83 and further reworked by Andreas Boeckler, published\u000ain the OpenWrt forum thread linked below. It is carried here with fixes for\u000athe WLAN board data, the QCN6122 radio instance, the U-Boot environment\u000apartition and the fan cooling map.\u000a\u000aLink: https://forum.openwrt.org/t/plain-openwrt-on-gl-x2000/231554\u000a\u000aInstallation:\u000a  Interrupt the bootloader over serial (115200 8N1) by typing \"gl\", then\u000a  TFTP the initramfs image and boot it:\u000a\u000a    tftpboot 0x44000000 openwrt-qualcommax-ipq50xx-glinet_gl-x2000-initramfs-uImage.itb\u000a    bootm 0x44000000\u000a\u000a  Then flash the factory image with sysupgrade.\u000a\u000aSigned-off-by: Gilberto Conde <gilbertorconde@gmail.com>\u000a",
        "date" : "2026-09-28 14:21:38 +0200",
        "id" : "9e15f1f49353d57011649c91eb4f9659107d6422",
        "msg" : "qualcommax: ipq50xx: add support for GL.iNet GL-X2000",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/ipq50xx/base-files/lib/upgrade/platform.sh"
          },
          {
            "editType" : "add",
            "file" : "target/linux/qualcommax/dts/ipq5018-gl-x2000.dts"
          },
          {
            "editType" : "edit",
            "file" : "package/firmware/ipq-wifi/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/ipq50xx/base-files/etc/board.d/01_leds"
          },
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-tools/uboot-envtools/files/qualcommax_ipq50xx"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/ipq50xx/base-files/etc/board.d/02_network"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/ipq50xx/base-files/etc/board.d/03_set_oem_name"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/image/ipq50xx.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/ipq50xx/base-files/etc/hotplug.d/firmware/11-ath11k-caldata"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts"
        ],
        "commitId" : "152eac73c566174b4e9a555c9cfa96ba364e6042",
        "timestamp" : 1790600049000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "mediatek: increase SPI-NAND frequency for ASUS RT-AX59U\u000a\u000aIncrease the spi-max-frequency from 20MHz to 52MHz for the SPI-NAND flash\u000aon the ASUS RT-AX59U. The underlying Winbond W25N01KV chip natively\u000asupports up to 104MHz, and the MediaTek MT7986A SoC safely handles 52MHz.\u000a\u000aIt's also 52 MHz in the stock U-Boot:\u000a...\u000aspi-max-frequency = <0x3197500>;\u000a...\u000a\u000aTesting with 'dd' reading 16MB from /dev/mtd1 shows a significant\u000aperformance improvement (~48% reduction in read time):\u000a\u000aBefore (20MHz):\u000a256+0 records in\u000a256+0 records out\u000areal    0m 2.86s\u000a\u000aAfter (52MHz):\u000a256+0 records in\u000a256+0 records out\u000areal    0m 1.50s\u000a\u000aSigned-off-by: Mikhail Zhilkin <csharper2005@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25278\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-28 14:54:09 +0200",
        "id" : "152eac73c566174b4e9a555c9cfa96ba364e6042",
        "msg" : "mediatek: increase SPI-NAND frequency for ASUS RT-AX59U",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts"
        ],
        "commitId" : "9da1e7bee3a376a3502a530f3f1cf67962dfe531",
        "timestamp" : 1790600049000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "mediatek: fix UBI_DEV partition size for ASUS RT-AX59U\u000a\u000aCorrect the UBI_DEV partition size from 252MB (0xfc00000) to 124MB\u000a(0x7c00000). The previous value exceeded the physical limits of the\u000adevice, which features a 128MB flash chip.\u000a\u000aSigned-off-by: Mikhail Zhilkin <csharper2005@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25278\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-28 14:54:09 +0200",
        "id" : "9da1e7bee3a376a3502a530f3f1cf67962dfe531",
        "msg" : "mediatek: fix UBI_DEV partition size for ASUS RT-AX59U",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts"
        ],
        "commitId" : "5484b15e870e945b25b6cb33fec3a7735191d8a9",
        "timestamp" : 1790600049000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "mediatek: add wireless pre-calibration data for ASUS RT-AX59U\u000a\u000aDefine the factory pre-calibration data partition at offset 0x1010 and\u000apass it to the wifi node via nvmem-cells. This ensures the mt7986\u000awireless hardware can properly utilize factory-calibrated RF settings.\u000a\u000aSigned-off-by: Mikhail Zhilkin <csharper2005@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25278\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-28 14:54:09 +0200",
        "id" : "5484b15e870e945b25b6cb33fec3a7735191d8a9",
        "msg" : "mediatek: add wireless pre-calibration data for ASUS RT-AX59U",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/boot/arm-trusted-firmware-mediatek/Makefile"
        ],
        "commitId" : "446eef3ac2d1011595a536d490442069321acb7d",
        "timestamp" : 1790600049000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "arm-trusted-firmware-mediatek: refactor UBI start address\u000a\u000aRefactor how OVERRIDE_UBI_START_ADDR is passed to the TF-A build system.\u000aInstead of using hardcoded string matches against the $(PLAT) variable\u000ainside global make flags, move the UBI start address directly into\u000atarget-specific definition blocks using a new UBI_START_ADDR variable.\u000a\u000aThis aligns the UBI partition boundary setup with how FIP_OFFSET and\u000aFIP_SIZE are cleanly tracked across different MediaTek SoCs.\u000a\u000aSigned-off-by: Mikhail Zhilkin <csharper2005@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25278\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-28 14:54:09 +0200",
        "id" : "446eef3ac2d1011595a536d490442069321acb7d",
        "msg" : "arm-trusted-firmware-mediatek: refactor UBI start address",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/boot/arm-trusted-firmware-mediatek/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/boot/arm-trusted-firmware-mediatek/Makefile"
        ],
        "commitId" : "2acfe884ccd5874f41ffa703c4cdf4b249b40458",
        "timestamp" : 1790600049000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "arm-trusted-firmware-mediatek: add mt7986 UBI 1MB offset target\u000a\u000aAdd a new Trusted Firmware-A (TF-A) build profile for the MediaTek\u000aMT7986 SoC named 'mt7986-spim-nand-ubi-1m-ddr4'.\u000a\u000aThis profile reduces the UBI starting address (UBI_START_ADDR) from\u000a0x200000 (2MB) down to 0x100000 (1MB). This layout adjustment matches\u000adevices like the ASUS RT-AX59U factory partition offsets and frees up\u000aflash space for the main operating system layout.\u000a\u000aSigned-off-by: Mikhail Zhilkin <csharper2005@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25278\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-28 14:54:09 +0200",
        "id" : "2acfe884ccd5874f41ffa703c4cdf4b249b40458",
        "msg" : "arm-trusted-firmware-mediatek: add mt7986 UBI 1MB offset target",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/boot/arm-trusted-firmware-mediatek/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/boot/uboot-mediatek/patches/411-add-asus-rt-ax59u.patch",
          "package/boot/uboot-mediatek/Makefile"
        ],
        "commitId" : "4c932beea5b462f0cfc9437c2307329939f95e92",
        "timestamp" : 1790600049000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "uboot-mediatek: add ASUS RT-AX59U (UBI) support\u000a\u000aThis commit adds OpenWrt U-Boot for ASUS RT-AX59U (UBI layout).\u000a\u000aSigned-off-by: Mikhail Zhilkin <csharper2005@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25278\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-28 14:54:09 +0200",
        "id" : "4c932beea5b462f0cfc9437c2307329939f95e92",
        "msg" : "uboot-mediatek: add ASUS RT-AX59U (UBI) support",
        "paths" : [
          {
            "editType" : "add",
            "file" : "package/boot/uboot-mediatek/patches/411-add-asus-rt-ax59u.patch"
          },
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-mediatek/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/boot/uboot-tools/uboot-envtools/files/mediatek_filogic"
        ],
        "commitId" : "756704524fc1142d48a13121d9d3c176bc290127",
        "timestamp" : 1790600049000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "uboot-tools: add ASUS RT-AX59U to mediatek_filogic\u000a\u000aThis commit adds ASUS RT-AX59U support to mediatek_filogic.\u000a\u000aSigned-off-by: Mikhail Zhilkin <csharper2005@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25278\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-28 14:54:09 +0200",
        "id" : "756704524fc1142d48a13121d9d3c176bc290127",
        "msg" : "uboot-tools: add ASUS RT-AX59U to mediatek_filogic",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-tools/uboot-envtools/files/mediatek_filogic"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac",
          "target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts",
          "target/linux/mediatek/dts/mt7986a-asus-rt-ax59u-ubi.dts",
          "target/linux/mediatek/dts/mt7986a-asus-rt-ax59u-common.dtsi",
          "target/linux/mediatek/image/filogic.mk",
          "target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh",
          "target/linux/mediatek/filogic/base-files/etc/board.d/02_network"
        ],
        "commitId" : "3619b280060f4b1ab07005d9d572bb04d7f0475a",
        "timestamp" : 1790600049000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "mediatek: add OpenWrt UBI layout for ASUS RT-AX59U\u000a\u000aThis commit implements the OpenWrt UBI layout for the ASUS RT-AX59U. The\u000aprimary goal is get working Kernel Address Space Layout Randomization\u000a(KASLR). Additionally, this layout frees up ~6MB of extra storage space\u000afor package installation.\u000a\u000aPreparation\u000a------------\u000aMake a backup (from OpenWrt for stock bootloader):\u000a* Backup partitions:\u000a   apk update && apk add nand-utils\u000a   nanddump /dev/mtd0 | gzip -1 -c > /tmp/mtd0_u-boot.bin.gz\u000a   nanddump /dev/mtd1 | gzip -1 -c > /tmp/mtd1_UBI_DEV.bin.gz\u000a\u000a* Backup nvram, Factory and Factory2 volumes:\u000a   cat /dev/ubi0_0 > /tmp/nvram.bin\u000a   cat /dev/ubi0_1 > /tmp/Factory.bin\u000a   cat /dev/ubi0_2 > /tmp/Factory2.bin\u000a\u000a* Copy backup from the /tmp dir on your router to a safe place using scp\u000a\u000aInstallation\u000a------------\u000a* Attach UART (see 'UART' section for details)\u000a\u000a* Run mtkuartboot (see 'mtkuartboot recovery' section for details), exit\u000a  the boot menu, and run:\u000a   mtd erase ubi\u000a\u000a* Run mtkuartboot again and write ubi bl2 and fip via the network, then\u000a  reboot.\u000a\u000a  Default tftp server ip: 192.168.1.254\u000a  Default router ip:      192.168.1.1\u000a\u000a* Load the ubi initramfs image via tftpboot and execute sysupgrade to\u000a  write OpenWrt to spi-nand.\u000a\u000a* Copy Factory backup to your router:\u000a   scp -O Factory.bin root@192.168.1.1:/tmp\u000a\u000a* Check factory volume index:\u000a   ubinfo -a\u000a\u000a* Prepare and write new factory ubi volume (substitute X with your\u000a  factory volume index):\u000a   dd if=/tmp/Factory.bin of=/tmp/factory.bin bs=1 count=$((0x65000))\u000a   ubiupdatevol /dev/ubi0_X /tmp/factory.bin\u000a\u000aUART\u000a----\u000aUART pins are silkscreened on PCB. Connection parameters:\u000a115200, 8N1, 3.3V\u000a\u000aU-Boot tftp recovery\u000a--------------------\u000a* Place OpenWrt ubi-initramfs-recovery.itb image on the tftp server (IP:\u000a  192.168.1.254)\u000a\u000a* Press reset button and power on the router. After ~10 sec release the\u000a  button.\u000a\u000a* Use OpenWrt initramfs system for recovery (for example, run sysupgrade)\u000a\u000amtkuartboot recovery\u000a--------------------\u000aUse mtk_uartboot and UART connetion for the installation or if BL2 or FIP\u000ain UBI is destroyed:\u000a\u000aLink: https://github.com/981213/mtk_uartboot\u000a\u000aStart script:\u000a'''\u000asudo ./mtk_uartboot \\\u000a  -p mt7986-ram-ddr4-bl2.bin \\\u000a  --aarch64 \\\u000a  -f openwrt-mediatek-filogic-asus_rt-ax59u-ubi-preloader.bin \\\u000a  -s /dev/ttyUSB0\u000apicocom -b 115200 /dev/ttyUSB0\u000a'''\u000a\u000aNotes\u000a-----\u000a1. A simple installation without serial console is also possible using a\u000a   fork of Daniel's UBI Installer (requires adaptation)\u000aLink: https://github.com/dangowrt/owrt-ubi-installer\u000a\u000aSigned-off-by: Mikhail Zhilkin <csharper2005@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25278\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-28 14:54:09 +0200",
        "id" : "3619b280060f4b1ab07005d9d572bb04d7f0475a",
        "msg" : "mediatek: add OpenWrt UBI layout for ASUS RT-AX59U",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/dts/mt7986a-asus-rt-ax59u.dts"
          },
          {
            "editType" : "add",
            "file" : "target/linux/mediatek/dts/mt7986a-asus-rt-ax59u-common.dtsi"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/filogic/base-files/etc/hotplug.d/ieee80211/11_fix_wifi_mac"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/image/filogic.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/filogic/base-files/etc/board.d/02_network"
          },
          {
            "editType" : "add",
            "file" : "target/linux/mediatek/dts/mt7986a-asus-rt-ax59u-ubi.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/rtl931x_nand/config-6.18",
          "target/linux/realtek/rtl931x/config-6.18"
        ],
        "commitId" : "e9e3e8c0ce4b5990a4f67753543387b35516e4e0",
        "timestamp" : 1790600348000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: disable realtek thermal on rtl931x\u000a\u000aEnsure REALTEK_THERMAL is disabled on rtl931x as the driver\u000ais not supported on rtl931x.\u000aThis is needed as the build system asks if it should be enabled\u000aduring the kernel build phase.\u000a\u000aSigned-off-by: Erik Larsson <who+github@cnackers.org>\u000aLink: https://github.com/openwrt/openwrt/pull/25431\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-28 14:59:08 +0200",
        "id" : "e9e3e8c0ce4b5990a4f67753543387b35516e4e0",
        "msg" : "realtek: disable realtek thermal on rtl931x",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/rtl931x/config-6.18"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/rtl931x_nand/config-6.18"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/base-files/etc/board.d/02_network",
          "target/linux/realtek/dts/rtl8380_netgear_gs310tp-v1.dts",
          "target/linux/realtek/image/rtl838x.mk"
        ],
        "commitId" : "220a7ac9905230fc6b51de268fb60e1cea9afd9a",
        "timestamp" : 1790603912000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: gs310tp: use the PSE MCU driver over I2C\u000a\u000aThe GS310TP's PoE MCU (Nuvoton M05xx in front of a BCM59121) is not on\u000aUART1 as the device tree assumed: nothing is received on UART and\u000arealtek-poe logs \"No response from PoE controller\" every 2 s. The\u000avendor firmware talks to the MCU over bit-banged I2C on SoC GPIO 4\u000a(SCL) and 5 (SDA), slave address 0x20 (board_conf.ko: poeSmiConf and\u000aits boardI2c entry; ski.ko: poe_bcm59121_* over drv_i2c_*), and a\u000aget-system-info frame sent that way is answered: mode \"Auto I2C\", 8\u000aports, device id 0xe121, gen1 dialect.\u000a\u000aDescribe that bus and the MCU with the realtek-pse-mcu SMBus transport,\u000amap the eight copper PHYs to its PIs like the GS110TPP, and replace\u000arealtek-poe and its board.d PoE budget with the kernel modules. UART1,\u000awhere nothing answers, goes back to disabled. The enable line on RTL8231\u000apin 10 moves from a gpio hog to the driver's disable-ports-gpios, so the\u000aports are released once the MCU has answered, as the vendor firmware\u000adoes.\u000a\u000aSigned-off-by: Paul Tobias <openwrt-commits@tobias.pt>\u000aLink: https://github.com/openwrt/openwrt/pull/25451\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-28 15:58:32 +0200",
        "id" : "220a7ac9905230fc6b51de268fb60e1cea9afd9a",
        "msg" : "realtek: gs310tp: use the PSE MCU driver over I2C",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/image/rtl838x.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/base-files/etc/board.d/02_network"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/dts/rtl8380_netgear_gs310tp-v1.dts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l2.c"
        ],
        "commitId" : "9b53790e2f6321faacb97bab78c0c5a7e587d8a4",
        "timestamp" : 1790606146000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: dsa: bound the trunk id in the L2 table dump\u000a\u000aThe L2 table dump prints the members and the primary port of a trunk\u000aentry by indexing lags_port_members[] and lag_primary[] with the trunk\u000aid read from the table. Both arrays have MAX_LAGS (16) entries, while\u000athe RTL930x and RTL931x fill functions take the id from a 6-bit and an\u000a8-bit field. The driver should never program an id that large, but a\u000arow carrying one would make the dump read past both arrays.\u000a\u000aPrint only the id when it is out of range.\u000a\u000aCompile-tested. On an RTL9303 the dump still works, but no trunk rows\u000awere present, so neither branch of the check ran on hardware.\u000a\u000aAssisted-by: Claude:claude-opus-5-5\u000aSigned-off-by: Gennaro Cimmino <gcimmino@rayonra.net>\u000aLink: https://github.com/openwrt/openwrt/pull/25448\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-28 16:35:46 +0200",
        "id" : "9b53790e2f6321faacb97bab78c0c5a7e587d8a4",
        "msg" : "realtek: dsa: bound the trunk id in the L2 table dump",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l2.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/dsa.c"
        ],
        "commitId" : "061397968df2f89b2aa2157c74c7cadd651a48f7",
        "timestamp" : 1790606146000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: dsa: walk the whole RTL931x L2 table for the FDB\u000a\u000artldsa_port_fdb_dump() walks fib_entries rows of the hash table and 64\u000arows of the CAM, and rtldsa_find_l2_cam_entry() searches 64 CAM rows.\u000aOn RTL931x otto_table.c maps the hash table with 32768 rows and the\u000aCAM with 128, but fib_entries stays at 16384 there. So bridge fdb show\u000amisses the entries of the second hash block, which starts at row\u000a16384, and the CAM search never uses rows 64 to 127.\u000a\u000aTake the row counts from otto_table_rows() on l2_uc_tbl and\u000al2_cam_tbl, as the debugfs dump does. The bounds do not change on\u000aRTL838x, RTL839x and RTL930x. On RTL931x the FDB add path can now place\u000aentries in CAM rows 64 to 127. fib_entries itself is left alone, since\u000ait also sizes l2_uc_map.\u000a\u000aCompile-tested. On an RTL9303, where the bounds do not change, bridge\u000afdb show still listed every unicast row of the hardware table. Not\u000atested on RTL931x hardware.\u000a\u000aAssisted-by: Claude:claude-opus-5-5\u000aSigned-off-by: Gennaro Cimmino <gcimmino@rayonra.net>\u000aLink: https://github.com/openwrt/openwrt/pull/25448\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-28 16:35:46 +0200",
        "id" : "061397968df2f89b2aa2157c74c7cadd651a48f7",
        "msg" : "realtek: dsa: walk the whole RTL931x L2 table for the FDB",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/dsa.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/ethernet/realtek/rtl838x_eth.h",
          "target/linux/realtek/files-6.18/drivers/net/ethernet/realtek/rtl838x_eth.c"
        ],
        "commitId" : "248601f492e7ccac2ecef9ff364685dd4c971851",
        "timestamp" : 1790615818000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: eth: rtl838x: ignore STP state on CPU transmit\u000a\u000aThe switch applies the egress spanning-tree port state to frames the\u000aCPU sends to a port, so a port that is not forwarding drops them:\u000akernel STP cannot announce a designated port during the forward\u000adelay, user-space RSTP cannot send proposals from a discarding port,\u000aand LLDP stays silent on blocked ports.\u000a\u000aSet BP_FLTR2 in the TX CPU tag. It bypasses the egress spanning-tree\u000aport state and egress VLAN filtering, as IGNORE_STP does when\u000atransmitting on RTL93xx. Skipping the VLAN filter does not widen\u000awhere frames go: the CPU names each frame's single destination port\u000a(AS_DPM).\u000a\u000aSigned-off-by: Paul Tobias <openwrt-commits@tobias.pt>\u000aLink: https://github.com/openwrt/openwrt/pull/25442\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-28 19:16:58 +0200",
        "id" : "248601f492e7ccac2ecef9ff364685dd4c971851",
        "msg" : "realtek: eth: rtl838x: ignore STP state on CPU transmit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/ethernet/realtek/rtl838x_eth.c"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/ethernet/realtek/rtl838x_eth.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/boot/uboot-mediatek/Makefile",
          "package/boot/uboot-mediatek/patches/473-add-bpi-r4-pro-4e.patch"
        ],
        "commitId" : "91f65610c9b837f15bd86a44b4dc1399a7158795",
        "timestamp" : 1790619077000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "uboot-mediatek: add support for BananaPi BPi-R4 Pro 4E\u000a\u000aThe BPi R4 Pro 4E can boot from microSD, SPI-NAND and eMMC. Add support\u000afor each storage option.\u000a\u000aNVME (via pcie3) works in uboot, but bootloader only supports spi and mmc.\u000a\u000aPatches are taken from R4Pro 8X and modified for 4E variant.\u000a\u000aCo-authored-by: Andrew LaMarche <andrewjlamarche@gmail.com>\u000aSigned-off-by: Frank Wunderlich <frank-w@public-files.de>\u000a",
        "date" : "2026-09-28 19:11:17 +0100",
        "id" : "91f65610c9b837f15bd86a44b4dc1399a7158795",
        "msg" : "uboot-mediatek: add support for BananaPi BPi-R4 Pro 4E",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-mediatek/Makefile"
          },
          {
            "editType" : "add",
            "file" : "package/boot/uboot-mediatek/patches/473-add-bpi-r4-pro-4e.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/mediatek/filogic/base-files/etc/board.d/01_leds",
          "package/boot/uboot-tools/uboot-envtools/files/mediatek_filogic",
          "target/linux/mediatek/base-files/etc/uci-defaults/99_fwenv-store-ethaddr.sh",
          "target/linux/mediatek/patches-6.18/971-arm64-dts-mediatek-mt7988a-add-support-for-bpi-r4-pro-4e.patch",
          "target/linux/mediatek/patches-6.18/972-arm64-dts-mediatek-mt7988a-bpi-r4-pro-add-aliases.patch",
          "target/linux/mediatek/image/filogic.mk",
          "target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh",
          "target/linux/mediatek/filogic/base-files/etc/board.d/02_network"
        ],
        "commitId" : "7a29a6bf6b8c6c6962d1795221637c16a0c9145e",
        "timestamp" : 1790619077000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "mediatek: add support for BananaPi BPi-R4 Pro 4E\u000a\u000aThe BPi-R4 Pro 4E is a Wi-Fi 7 router board based on the MT7988A SoC.\u000a\u000aDifference to 8X is that board has only 4GB RAM and does not contain\u000athe Aeonsemi 10G phys.\u000aWan port uses MT7988 internal 2.5GBit/s phy with no ethmux chip between\u000aso it need overlays to switch between this wan-phy and SFP-Slot.\u000a\u000aSpecification\u000a-------------\u000a\u000a- SoC:          Mediatek MT7988A (4x Cortex-A73 @1.8GHz)\u000a- RAM:          4GB DDR4\u000a- Flash:        256MB SPI-NAND, 8GB eMMC, microSD Slot\u000a- Switch:       MT7988A built-in switch, MxL86252C\u000a- Ports:        9 ports, 8 usable simultaneously\u000a        * 2x 1G RJ45 LAN\u000a        * 4x 2.5G RJ45 LAN\u000a        * 1x SFP (LAN)\u000a        * 1x 2.5G RJ45/SFP Combo (WAN)\u000a- Buttons:      Reset, WPS\u000a- LEDs:         Power\u000a- USB:          On-board VIA VL822 USB3.2/USB2.0 hub\u000a        * 1x USB-A 2.0 connector\u000a        * 1x USB-A 3.2 connector\u000a        * 3x NGFF-KEYB\u000a- PCIe:\u000a        * 2x mini-PCIe slots with PCIe 3.0 2-lane interface\u000a        * 2x M.2 M-Key slots with PCIe 3.0 1-lane interface (switchable\u000a          PCIe signal with M.2 B-Key)\u000a- Debug:        USB Type-C console port\u000a- Power:        USB Type-C PD 20V or DC barrel connector\u000a\u000aNote: This device comes without a MAC address programmed from the\u000afactory. The randomly generated MAC is stored in the U-Boot env on first\u000aboot and used persistently afterwards.\u000a\u000aInstallation\u000a------------\u000a\u000aUncompress *sdcard.img.gz and write to microSD card, eg. using 'dd'. Use\u000abootloader menu on the serial console to install SPI-NAND once installed\u000ato SPI-NAND you can used the bootloader menu to install to eMMC. See\u000ainstructions for BananaPi R4 for details.\u000a\u000aDescription is taken from 8X patch and changed to 4E variant.\u000a\u000aR4Pro needed a patch for adding aliases to ensure right probe order so add\u000athis here too.\u000a\u000aCo-authored-by: Wilfried Teiken <wteiken@teiken.org>\u000aSigned-off-by: Frank Wunderlich <frank-w@public-files.de>\u000a",
        "date" : "2026-09-28 19:11:17 +0100",
        "id" : "7a29a6bf6b8c6c6962d1795221637c16a0c9145e",
        "msg" : "mediatek: add support for BananaPi BPi-R4 Pro 4E",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/image/filogic.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/filogic/base-files/etc/board.d/02_network"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/filogic/base-files/lib/upgrade/platform.sh"
          },
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-tools/uboot-envtools/files/mediatek_filogic"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/base-files/etc/uci-defaults/99_fwenv-store-ethaddr.sh"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/filogic/base-files/etc/board.d/01_leds"
          },
          {
            "editType" : "add",
            "file" : "target/linux/mediatek/patches-6.18/971-arm64-dts-mediatek-mt7988a-add-support-for-bpi-r4-pro-4e.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/mediatek/patches-6.18/972-arm64-dts-mediatek-mt7988a-bpi-r4-pro-add-aliases.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/base-files/etc/board.d/02_network",
          "target/linux/realtek/image/rtl931x.mk",
          "target/linux/realtek/dts/rtl9313_ubnt_usw-pro-xg-10-poe.dts"
        ],
        "commitId" : "8635eeedc38cbd49fe228442880097ebbdb2f01b",
        "timestamp" : 1790619861000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: add support for Ubiquiti USW Pro XG 10 PoE\u000a\u000aAdd support for RTL9313-based Ubiquiti UniFi USW Pro XG 10 PoE switch\u000awith 10x 10G RJ45 and 2x SFP+ ports.\u000a\u000aHardware\u000a========\u000a\u000a  - RTL9313 switch SoC\u000a  - 512 MiB RAM\u000a  - 32 MiB SPI-NOR flash\u000a  - 10x 100M/1G/2.5G/5G/10G RJ45 ports via RTL8264B and RTL8261BE\u000a  - PoE: 10x 802.3bt, 90W per port, 400W total budget\u000a  - 2x 1G/2.5G/10G SFP+ ports\u000a  - Buttons: 1x Reset\u000a  - LEDs:\u000a    - System LED white/blue\u000a    - RGBW LED per port\u000a  - Console: TTL 3.3V, 115200 8N1, populated 4-pin header J19,\u000a    front to back: VCC, RX, TX and GND\u000a    (device must be opened to access header)\u000a  - Etherlighting feature (lighting patterns and color control)\u000a  - Vendor firmware: U-Boot + LEDE-based Ubiquiti OS\u000a\u000aMAC address\u000a===========\u000a\u000aSingle MAC address in EEPROM partition, applied to all ports.\u000a\u000aKnown issues\u000a============\u000a\u000a  - Etherlighting not controllable, driver WIP. Port LEDs for link work\u000a    though. By default, the controller keeps the LEDs in a breathing\u000a    state, gated by the link state delivered by the Realtek SoC.\u000a\u000aDisclaimer\u000a==========\u000a\u000aStock firmware uses a dual-bank layout (kernel0/kernel1, ~15 MiB each).\u000aOpenWrt replaces both banks with a single contiguous firmware partition.\u000aFlashing OpenWrt overwrites both stock kernel slots; U-Boot remains\u000aintact and can be used for recovery.\u000a\u000aInstallation\u000a============\u000a\u000a1. Enable SSH on the stock UniFi OS and log in with user account.\u000a\u000a(at this stage you may make backups of the flash, just to be sure)\u000a\u000a2. Copy the OpenWrt sysupgrade image to /tmp on the switch (e.g. via\u000a   scp).\u000a\u000a3. Adjust IMG below to point at the copied file, then run the block as a\u000a   whole. It writes kernel0, splits into kernel1 if the image is larger\u000a   than that slot (otherwise invalidates kernel1 so U-Boot cannot pick\u000a   a stale bank), and reboots:\u000a\u000a   IMG=/tmp/openwrt-realtek-rtl931x-ubnt_usw-pro-xg-10-poe-squashfs-sysupgrade.bin\u000a   K0_BLOCKS=$((0xec0000 / 0x10000))\u000a\u000a   dd if=\"$IMG\" of=/dev/mtdblock2 bs=64k count=$K0_BLOCKS conv=fsync\u000a   if [ \"$(wc -c < \"$IMG\")\" -gt $((0xec0000)) ]; then\u000a       dd if=\"$IMG\" of=/dev/mtdblock3 bs=64k skip=$K0_BLOCKS conv=fsync\u000a   else\u000a       dd if=/dev/zero of=/dev/mtdblock3 bs=64k count=1 conv=fsync\u000a   fi\u000a   sync\u000a   reboot\u000a\u000a   Then it comes up in OpenWrt.\u000a\u000a   You may also install the image in any other way, just make sure to\u000a   write it to the kernel0 partition and if the image is larger than\u000a   15,104 kiB, write the rest to the kernel1 partition, otherwise invalidate\u000a   it so U-Boot cannot boot from the second bank.\u000a\u000a4. It is recommended to modify the bootcmd to speedup the boot and prevent\u000a   any issues due to the dual-boot selection. Since U-Boot by default\u000a   uses bootubnt which does a lot of (unneeded) RTK initialization,\u000a   quite some time passes until Linux is started. Additionally, the\u000a   U-boot logic fiddles with some bits on flash which causes JFFS2\u000a   errors in OpenWrt. While this doesn't seem to cause issues yet, be\u000a   defensive and set the bootcmd to:\u000a\u000a     bootm 0xb4150000\u000a\u000a   This directly boots the uImage from flash, without doing all the\u000a   initialization. OpenWrt is able to bootstrap the networking completely\u000a   on its own.\u000a\u000aIt does not matter which bank stock booted from when the dd block\u000aruns: both banks are touched in the same pass (kernel0 written, kernel1\u000aeither written or invalidated). With kernel1 invalidated, U-Boot's\u000ainternal fallback kicks in and permanently switches to kernel0 on the\u000anext boot, so the device stays on OpenWrt as long as kernel0 is\u000abootable.\u000a\u000aRecovery\u000a========\u000a\u000aSince the installation procedure invalidates or partially overwrites\u000athe second bank, recovery requires serial console access (see Hardware\u000aabove for pinout).\u000a\u000a1. Interrupt U-Boot autoboot by spamming the Escape key during early\u000a   boot to drop into the U-Boot prompt.\u000a\u000a2. Bring up networking:\u000a\u000a   rtk network on\u000a\u000a3. Transfer an OpenWrt initramfs image via TFTP and boot it:\u000a\u000a   setenv ipaddr <switch-ipaddr>\u000a   setenv serverip <tftpserver-ipaddr>\u000a   setenv bootfile openwrt-realtek-rtl931x-ubnt_usw-pro-xg-10-poe-initramfs-kernel.bin\u000a   tftpboot\u000a   bootm\u000a\u000a4. From the running initramfs OpenWrt, do a sysupgrade to reflash\u000a   OpenWrt or whatever you want to recover. There is no need for the\u000a   complicated procedure from installation since OpenWrt sees the\u000a   firmware partition already as a whole.\u000a\u000aReturn to stock firmware\u000a========================\u000a\u000aThere is no fully-supported revert path. The stock firmware blob is a\u000aUbiquiti UBNT archive (header + parts, see firmware-utils' fw.h) that\u000aembeds a u-boot and a kernel0 uImage payload; only the latter is\u000arelevant when writing back to the kernel partitions.\u000a\u000aThe snippet below extracts the kernel0 uImage from such a blob by\u000alocating the uImage offset and size using binwalk. It is provided as a\u000abest-effort starting point; verify the result before flashing,\u000aotherwise you're on your own:\u000a\u000a   BLOB=US3.rtl93xx_7.4.1+X.Y.Z.bin\u000a   binwalk $BLOB | grep uImage > uimage-info.txt\u000a   OFF=$(cut -d\\  -f1 uimage-info.txt)\u000a   SIZE=$(sed -nE 's/^.*image size: ([0-9]+) bytes,.*/\\1/p' uimage-info.txt)\u000a   dd if=\"$BLOB\" of=kernel0.uImage bs=1 skip=\"$OFF\" count=\"$SIZE\"\u000a\u000aOnce you have a clean uImage, it can be written to the kernel partition\u000afrom within OpenWrt. If you adjusted the bootcmd during installation,\u000amake sure to restore it to the default \"bootcmd=bootubnt\". After a reboot,\u000aUbiquiti's firmware should boot.\u000a\u000aOr, if you did backups of the flash before, just write the backup to the\u000aflash.\u000a\u000a(lightly modified from Jonas commit adding support for usw-pro-8-poe)\u000a\u000aSigned-off-by: Russell Senior <russell@personaltelco.net>\u000aLink: https://github.com/openwrt/openwrt/pull/25425\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-28 20:24:21 +0200",
        "id" : "8635eeedc38cbd49fe228442880097ebbdb2f01b",
        "msg" : "realtek: add support for Ubiquiti USW Pro XG 10 PoE",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/realtek/dts/rtl9313_ubnt_usw-pro-xg-10-poe.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/image/rtl931x.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/base-files/etc/board.d/02_network"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ath79/dts/ar9344_pcs_cr5000.dts"
        ],
        "commitId" : "9df055123c216df0be7ecb7655f5455355ef865d",
        "timestamp" : 1790630898000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "ath79: pcs,cr5000: remove ports and aliases nodes\u000a\u000aswconfig,port is used in only two places, here and ramips. This stuff is\u000aalready handled in userspace. No need for it here.\u000a\u000aThis aliases node is not only in the wrong location, it serves no\u000apurpose. Remove.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25406\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-28 23:28:18 +0200",
        "id" : "9df055123c216df0be7ecb7655f5455355ef865d",
        "msg" : "ath79: pcs,cr5000: remove ports and aliases nodes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ath79/dts/ar9344_pcs_cr5000.dts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/generic/pending-6.18/737-02-net-phylink-introduce-internal-phylink-PCS-handling.patch",
          "target/linux/generic/pending-6.18/706-net-phy-populate-host_interfaces-when-attaching-PHY.patch",
          "target/linux/generic/backport-6.18/737-01-v7.3-net-phylink-allow-PHYs-to-be-attached-in-802.3z-inba.patch",
          "target/linux/generic/pending-6.18/737-01-net-phylink-keep-and-use-MAC-supported_interfaces-in.patch",
          "target/linux/generic/backport-6.18/707-v7.3-net-phylink-record-the-PHY-only-once-bringup-cannot-.patch"
        ],
        "commitId" : "5dcf6a3b3da3cf9cfb2a0e73cbeac9a656a58cf6",
        "timestamp" : 1790632728000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "generic: backport phylink fix for a PHY recorded before bringup fails\u000a\u000aphylink_bringup_phy() stores the PHY in pl->phydev before its last\u000astep that can fail. If that step fails, the pointer outlives the\u000afailed connect: a later phylink_connect_phy() gets a permanent -EBUSY,\u000athe SFP path is left with a pointer to a freed phy_device, and a\u000adisconnect detaches the same PHY twice. The fix publishes the pointer\u000aonly after the last call that can fail.\u000a\u000aIt is also the base the pending phylink late-PHY series relies on:\u000aretrying a connect after a failed bringup is what makes this window\u000areachable.\u000a\u000aThe fix is in net:\u000ahttps://git.kernel.org/netdev/net/c/a940003f44e7\u000a\u000aThe phylink patches that apply on top of it are refreshed for hunk\u000aoffsets.\u000a\u000aAssisted-by: LLM\u000aSigned-off-by: Aleksei Sviridkin <f@lex.la>\u000aLink: https://github.com/openwrt/openwrt/pull/25459\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-28 23:58:48 +0200",
        "id" : "5dcf6a3b3da3cf9cfb2a0e73cbeac9a656a58cf6",
        "msg" : "generic: backport phylink fix for a PHY recorded before bringup fails",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/737-01-net-phylink-keep-and-use-MAC-supported_interfaces-in.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/737-02-net-phylink-introduce-internal-phylink-PCS-handling.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/backport-6.18/737-01-v7.3-net-phylink-allow-PHYs-to-be-attached-in-802.3z-inba.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/706-net-phy-populate-host_interfaces-when-attaching-PHY.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/generic/backport-6.18/707-v7.3-net-phylink-record-the-PHY-only-once-bringup-cannot-.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/generic/backport-6.18/439-v7.4-mtd-spi-nor-macronix-Restore-fallback-parameters-for.patch"
        ],
        "commitId" : "d9f8ecc394dd30537d7136963fa4f6891b59c1ee",
        "timestamp" : 1790636508000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/hauke",
          "fullName" : "hauke"
        },
        "authorEmail" : "hauke@hauke-m.de",
        "comment" : "kernel: backport fix for Macronix MX25L128xx series Flash\u000a\u000aWe need this patch to fix support for the early generation MX25L128xx\u000aseries Flash as it doesn't have SFDP.\u000a\u000aLink: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=01739ccea21b69818dc071096a249e6f84a6b13d\u000aSigned-off-by: Shiji Yang <yangshiji66@outlook.com>\u000aLink: https://github.com/openwrt/openwrt/pull/24735\u000aSigned-off-by: Hauke Mehrtens <hauke@hauke-m.de>\u000a",
        "date" : "2026-09-29 01:01:48 +0200",
        "id" : "d9f8ecc394dd30537d7136963fa4f6891b59c1ee",
        "msg" : "kernel: backport fix for Macronix MX25L128xx series Flash",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/generic/backport-6.18/439-v7.4-mtd-spi-nor-macronix-Restore-fallback-parameters-for.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/elfutils/patches/001-fix-backport-iquote-include.patch",
          "tools/elfutils/patches/013-backport-mips-support-elflint.patch",
          "tools/elfutils/Makefile",
          "tools/elfutils/patches/101-shared-conditional.patch",
          "tools/elfutils/patches/012-backport-mips-support-readelf.patch",
          "tools/elfutils/patches/100-portability.patch",
          "tools/elfutils/patches/110-objects-manifest.patch"
        ],
        "commitId" : "a5bc79c39b3ddec0115984ad22e71659eedf55ff",
        "timestamp" : 1790666860000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "tools/elfutils: update to 0.196\u000a\u000aTo reduce the size of the downloaded source files, the version of tools library\u000ahas been aligned with the version used in the packages.\u000a\u000aRelease notes: https://inbox.sourceware.org/elfutils-devel/CAJDtP-QXj15OOpBxLdU+V1PZKM8YmnsE1eVy-R2R5xbE7Shk5A@mail.gmail.com/T/#u\u000a\u000aManually rebased patches:\u000a - 012-backport-mips-support-readelf.patch\u000a - 100-portability.patch\u000a\u000aRemoved patches:\u000a - 001-fix-backport-iquote-include.patch - fixed in [1]\u000a - 110-objects-manifest.patch - upstreamed\u000a\u000aInclude new submodule 'libdwfl_stacktrace' in makefile.\u000aChanges from 8f920d2 are rolled back after fix [1]\u000a\u000a1. https://sourceware.org/bugzilla/show_bug.cgi?id=33103\u000a\u000aFixes: https://github.com/openwrt/openwrt/commit/8f920d2f94b0878e9b4291ffa18cfc9e02828f77\u000aSigned-off-by: Ivan Pavlov <AuthorReflex@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25388\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-29 09:27:40 +0200",
        "id" : "a5bc79c39b3ddec0115984ad22e71659eedf55ff",
        "msg" : "tools/elfutils: update to 0.196",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/elfutils/patches/100-portability.patch"
          },
          {
            "editType" : "edit",
            "file" : "tools/elfutils/patches/101-shared-conditional.patch"
          },
          {
            "editType" : "delete",
            "file" : "tools/elfutils/patches/001-fix-backport-iquote-include.patch"
          },
          {
            "editType" : "edit",
            "file" : "tools/elfutils/patches/013-backport-mips-support-elflint.patch"
          },
          {
            "editType" : "delete",
            "file" : "tools/elfutils/patches/110-objects-manifest.patch"
          },
          {
            "editType" : "edit",
            "file" : "tools/elfutils/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "tools/elfutils/patches/012-backport-mips-support-readelf.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/devel/kselftests-bpf/Makefile"
        ],
        "commitId" : "8694449c7a90edbd94e8da5038631bce433f81bc",
        "timestamp" : 1790666949000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "kselftests-bpf: isolate target userspace compiler flags\u000a\u000aPassing target flags through EXTRA_CFLAGS leaks them into kernel\u000amodule builds on Linux 6.6 and 6.12, causing ARM hard-float ABI\u000amismatches in generated module objects. Linux 6.18 also forwards\u000athese flags to host tools, where the host compiler rejects them.\u000a\u000aReuse SAN_CFLAGS, normally used for sanitizer options, to pass\u000atarget flags to both userspace selftests and their target libbpf\u000abuilds on Linux 6.6, 6.12 and 6.18. Host tools and kernel modules\u000ado not consume this variable. USERCFLAGS would only cover the\u000aselftests, leaving their libbpf builds without the target flags.\u000a\u000aThis covers the targets built by this package; CROSS_BPFTOOL\u000adoes not consume SAN_CFLAGS.\u000a\u000aSigned-off-by: Tianling Shen <cnsztl@immortalwrt.org>\u000aLink: https://github.com/openwrt/openwrt/pull/25345\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-29 09:29:09 +0200",
        "id" : "8694449c7a90edbd94e8da5038631bce433f81bc",
        "msg" : "kselftests-bpf: isolate target userspace compiler flags",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/devel/kselftests-bpf/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/ipq806x/dts/qcom-ipq8064-fap-421e.dts"
        ],
        "commitId" : "3f1de27621fcbc06ece334c3e9eafd3e89d968d2",
        "timestamp" : 1790668760000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "ipq806x: fix Fortinet FAP-421E LAN1 not transmitting\u000a\u000agmac0 used a fixed-link with no phy-handle, so the AR8035 was never\u000aattached and never configured. The PHY comes out of reset with the\u000aRGMII RX delay enabled and the TX delay disabled, and the IPQ8064 MAC\u000ahas no internal RGMII delay of its own, so nothing ever enables it and\u000aLAN1 receives but never transmits when booting from flash. Booting via\u000atftpboot + bootm masked this, as U-Boot leaves the PHY configured.\u000a\u000aPoint gmac0 at phy1 on mdio0 and use rgmii-id, which is the mode that\u000amakes the at803x driver enable both delays. The fixed-link has to go,\u000aas phylink does not attach a PHY for fixed-link MACs, which also means\u000athe port now autonegotiates instead of being pinned to 1000/full.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25452\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-29 09:59:20 +0200",
        "id" : "3f1de27621fcbc06ece334c3e9eafd3e89d968d2",
        "msg" : "ipq806x: fix Fortinet FAP-421E LAN1 not transmitting",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/dts/qcom-ipq8064-fap-421e.dts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/common.c",
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl-otto.h",
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
        ],
        "commitId" : "138fabb79f8d68d65e40c8b8d0c0494b19053d0f",
        "timestamp" : 1790669079000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: l3: do not invent an L2 entry for a next hop\u000a\u000aWhen a route is programmed while the switch holds no L2 entry for the\u000agateway, rtldsa_l2_nexthop_add() invents one carrying the don't-care\u000aport priv->r->port_ignore. Observed on an RTL9303: with such a next hop\u000athe destination receives every forwarded frame twice, once from the\u000aswitch and once from the Linux stack. Where the route entry can trap,\u000ado not invent the row, and trap the route to the CPU instead, which is\u000awhat otto_l3_fib_add_v4() already does for a host route with no\u000agateway.\u000a\u000aThe invented row is written static, so it does not age, and the software\u000abridge offers no replacement: dsa_user_fdb_event() drops an address\u000alearned on an offloaded port before the driver sees it. Leaving the slot\u000ato the address lets the switch learn it from the traffic the CPU routes,\u000aand a later neighbour update programs a real port. From the code, not\u000atested: a gateway held as a permanent or NOARP neighbour produces no\u000asuch update, so its route stays in software. A route that only claims\u000aentries the switch learned never clears the route count of the entry it\u000aclaims: that count may still hold routes forwarding through the entry.\u000a\u000aTested on an RTL9303 (Hasivo S1100W-8XGT-SE) against pristine main,\u000asame board and same rig (main at 19ff245b92; this patch on c09e3f28ba,\u000awhich only adds an SPI backport): two hosts on one bridge port, one\u000auntagged in VLAN 1 and one tagged in VLAN 3, a /32 route to each,\u000aprogrammed after 340 s of neighbour silence so the gateways' L2 entries\u000ahave aged out. On main both get a static next hop with the don't-care\u000aport, and five pings collect twelve duplicates: tcpdump at the\u000adestination shows each echo request twice with the same IP id, once at\u000attl 64 and once at ttl 63, and the entry is still static afterwards.\u000aWith this patch both routes are trapped and the five pings cross in\u000asoftware without loss or duplicates, each request once at ttl 63. A\u000atrapped route stays trapped while nothing crosses it (ten readings 30 s\u000aapart); the pings let the switch learn the address, and after them the\u000aroute is back in hardware on a learned, dynamic entry with the real\u000aport. Programmed while the neighbours are fresh, both kernels behave the\u000asame: a real port and no duplicates. A /24 through the same gateway,\u000awhich lands in the prefix table rather than the host one, is trapped the\u000asame way, and its five pings cross at ttl 63 without duplicates.\u000a\u000aNot changed here, and the same on both kernels: an entry that ages\u000awhile a route already forwards through it keeps its next-hop bit with\u000athe don't-care port, so after 340 s of silence the first of five pings\u000adrew one duplicate before the switch learned the address again.\u000a\u000aRTL838x and RTL931x never reach this code: their otto_l3_config carries\u000ano .setup, and both notifiers return early without one, as does an\u000aRTL930x built without CONFIG_NET_DSA_RTL83XX_RTL930X_L3_OFFLOAD. RTL839x\u000areaches it, but routes through a PIE rule rather than a route entry with\u000aan action, and what its switch does with a route rule that no longer\u000aforwards is not something I could find in the SDK or test. The change is\u000atherefore keyed on use_l3_tables: RTL839x still gets the invented entry\u000aand a PIE rule forwarding through it, exactly as before. Whether it\u000ashows the duplicates too was not tested.\u000a\u000aAssisted-by: Claude:claude-opus-5\u000aAssisted-by: Claude:claude-opus-5-5\u000aSigned-off-by: Gennaro Cimmino <gcimmino@rayonra.net>\u000aLink: https://github.com/openwrt/openwrt/pull/25353\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-29 10:04:39 +0200",
        "id" : "138fabb79f8d68d65e40c8b8d0c0494b19053d0f",
        "msg" : "realtek: l3: do not invent an L2 entry for a next hop",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl-otto.h"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/common.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
        ],
        "commitId" : "4ec7b59613a1c69e5d19d653d9bc39f7b29cb71b",
        "timestamp" : 1790683085000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: l3: do not read a nexthop array that is not there\u000a\u000aA route through a nexthop object keeps its nexthops in that object, and\u000athe fib_info behind it is allocated with none of its own: for a route\u000acarrying an nhid, fib_create_info() sets the nexthop count to zero and\u000asizes the structure by it, then points fi->nh at the object\u000a(net/ipv4/fib_semantics.c). fib_info_nh() says the same by warning when\u000ait is asked for a nexthop of such a route, before handing back the\u000aaddress where the array would have started.\u000a\u000aThe IPv4 FIB handler reads that address in the variable initialisers of\u000athree of its functions, ahead of every test any of them makes, so\u000a\"ip route add ... nhid N\" on a switch whose L3 setup is in place takes\u000athe warning and then dereferences whatever follows the allocation as a\u000anet_device. The RTL839x carries that setup outside any config symbol, so\u000aa stock build gets there.\u000a\u000aLeave the route alone where the notifier already screens the IPv4 events\u000ait cannot use, which is ahead of all three reads. Leaving it alone\u000arather than refusing it, as the check on the next line does for an IPv6\u000agateway, is deliberate: the kernel still installs the route, and an\u000aerror returned from this notifier would come back out of\u000aregister_fib_notifier(), which replays the routes that already exist -\u000aso one such route present at probe would cost the switch its whole L3\u000aoffload rather than that one entry.\u000a\u000aAssisted-by: Claude:claude-opus-5\u000aAssisted-by: Claude:claude-opus-5-5\u000aSigned-off-by: Gennaro Cimmino <gcimmino@rayonra.net>\u000aLink: https://github.com/openwrt/openwrt/pull/25310\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-29 13:58:05 +0200",
        "id" : "4ec7b59613a1c69e5d19d653d9bc39f7b29cb71b",
        "msg" : "realtek: l3: do not read a nexthop array that is not there",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
        ],
        "commitId" : "279b4d763cc5c3dbbac20e1716248ccd22aec331",
        "timestamp" : 1790683085000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: l3: take out a route a nexthop object replaces\u000a\u000aThe previous commit leaves a route through a nexthop object out of the\u000aoffload. \"ip route replace <dst> nhid N\" reaches the notifier as a\u000aFIB_EVENT_ENTRY_REPLACE for the new route alone, with no delete for the\u000aroute it replaces (fib_table_insert() in net/ipv4/fib_trie.c). If <dst>\u000awas offloaded, its hardware entry stayed programmed with the old\u000agateway, and nothing took it out afterwards.\u000a\u000aLet add, replace and append events for such a route through to\u000aotto_l3_fib_add_v4(). There, before the first nexthop read, which moves\u000aout of the variable initialisers, take out an entry offloaded for the\u000asame table and destination with the otto_l3_route_find() and\u000aotto_l3_route_teardown() pair its replace path already uses, then\u000areturn. The teardown cannot sit in the notifier itself: the FIB\u000anotifier chain is atomic, and the teardown takes the table mutex.\u000a\u000aA delete for such a route still stops in the notifier: the route was\u000anever offloaded, and otto_l3_fib_del_v4() reads the nexthop array.\u000a\u000aTested on an RTL9303 (Hasivo S1100W-8XGT-SE) with the L3 offload on,\u000athis series on main at 248601f492. A /24 and a /32 through a gateway\u000aeach get a hardware entry; replacing either with \"nhid 17\" takes the\u000aentry out while the kernel keeps the route, replacing it back through\u000athe other gateway programs an entry again, and deleting it afterwards\u000aleaves none. A replace between two gateways without a nexthop object\u000astill leaves exactly one entry. No warning or oops in the log. The\u000astale entry this commit removes was read from the code, not reproduced.\u000a\u000aAssisted-by: Claude:claude-opus-5-5\u000aSigned-off-by: Gennaro Cimmino <gcimmino@rayonra.net>\u000aLink: https://github.com/openwrt/openwrt/pull/25310\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-29 13:58:05 +0200",
        "id" : "279b4d763cc5c3dbbac20e1716248ccd22aec331",
        "msg" : "realtek: l3: take out a route a nexthop object replaces",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
        ],
        "commitId" : "bfb985894411647c61d48f92946c6b2fc775f83a",
        "timestamp" : 1790683085000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: l3: trap a host route through a nexthop object\u000a\u000aA route through a nexthop object is left out of the offload, but the\u000aswitch still looks its destination up. When an offloaded shorter prefix\u000acovers it, the switch forwards that traffic through the prefix's\u000agateway, and the route the kernel holds never sees a packet.\u000a\u000aWhere the host table can hold the route, write a trap entry for it, the\u000away otto_l3_fib_add_v4() already does for a host route with no gateway:\u000athe lookup stops there and the CPU forwards by the kernel's route. A\u000adelete for such a route now reaches the worker as well, and takes that\u000aentry out with the same otto_l3_route_find() and\u000aotto_l3_route_teardown() pair the replace uses.\u000a\u000aA prefix route through a nexthop object still gets no entry: here the\u000aprefix table only takes a route once its gateway resolves. Neither does\u000aa host route on a family without a host table.\u000a\u000aTested on an RTL9303 (Hasivo S1100W-8XGT-SE) with the L3 offload on,\u000athis series on main at 248601f492. With 10.99.0.0/16 offloaded through\u000aone host and 10.99.1.1/32 through a nexthop object to the same host,\u000athe /32 gets a trap entry in the host table. Five pings from a second\u000ahost reach the first with ttl 63 for 10.99.1.1, forwarded by the CPU,\u000aand with ttl 64 for 10.99.2.2, which only the /16 covers: on this tree\u000athe hardware path leaves the ttl alone. A replace through a gateway\u000aturns the entry into a forwarding one, a replace back makes it a trap\u000aagain, and the delete takes it out. A /24 through the nexthop object\u000agets no entry. No warning or oops in the log.\u000a\u000aAssisted-by: Claude:claude-opus-5-5\u000aSigned-off-by: Gennaro Cimmino <gcimmino@rayonra.net>\u000aLink: https://github.com/openwrt/openwrt/pull/25310\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-29 13:58:05 +0200",
        "id" : "bfb985894411647c61d48f92946c6b2fc775f83a",
        "msg" : "realtek: l3: trap a host route through a nexthop object",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/generic/backport-6.12/802-v7.4-801-v7.4-net-phy-mxl-gpy-add-2.5G-for-MXL86211C.patch",
          "target/linux/generic/backport-6.18/801-v7.4-net-phy-mxl-gpy-add-2.5G-for-MXL86211C.patch"
        ],
        "commitId" : "a83663424db975384e2807040887980662448e74",
        "timestamp" : 1790685107000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "generic: backport MXL86211C 2.5G support\u000a\u000aIf SGMII with in-band is used on MX86211C then 2.5G will be missing.\u000a\u000aSolve it by backporting upstream switch to gpy21x_config_init that also\u000aadvertises 2500Base-X.\u000a\u000aSigned-off-by: Robert Marko <robert.marko@sartura.hr>\u000a",
        "date" : "2026-09-29 14:31:47 +0200",
        "id" : "a83663424db975384e2807040887980662448e74",
        "msg" : "generic: backport MXL86211C 2.5G support",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/generic/backport-6.12/802-v7.4-801-v7.4-net-phy-mxl-gpy-add-2.5G-for-MXL86211C.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/generic/backport-6.18/801-v7.4-net-phy-mxl-gpy-add-2.5G-for-MXL86211C.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/generic/backport-6.18/895-v7.2-Bluetooth-btusb-Add-Mercusys-MA530-for-Realtek-RTL87.patch"
        ],
        "commitId" : "3ee26fd4178e680d3ddc54d26251d4cbadac8623",
        "timestamp" : 1790690882000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "generic: backport the btusb ID for the Mercusys MA530\u000a\u000aThe Mercusys MA530 dongle (2c4e:0115) is a Realtek RTL8761BUV, but the\u000a6.18 btusb quirks table does not list the ID, so the controller comes up\u000awithout its firmware patch: HCI works, yet LE discovery never reports a\u000asingle device. Backport the v7.2 commit that adds the ID with the\u000aRealtek and wideband speech flags.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-29 15:08:02 +0100",
        "id" : "3ee26fd4178e680d3ddc54d26251d4cbadac8623",
        "msg" : "generic: backport the btusb ID for the Mercusys MA530",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/generic/backport-6.18/895-v7.2-Bluetooth-btusb-Add-Mercusys-MA530-for-Realtek-RTL87.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/system/procd/Makefile",
          "package/system/procd/files/hotplug-preinit.json",
          "package/system/procd/files/hotplug.json"
        ],
        "commitId" : "ffbd82ed6c45e7dce6590737c874853b321d46da",
        "timestamp" : 1790692183000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "procd: include hotplug rule fragments from drop-in dirs\u000a\u000aThe hotplug rules live in a single /etc/hotplug.json, so a package\u000athat needs a device node named, owned or grouped its own way has no\u000away to contribute one; the alternatives are patching the shared file\u000aor falling back to a shell script under /etc/hotplug.d.\u000a\u000aLoad /etc/hotplug.json.d/*.json from inside the device node branch,\u000aahead of the built-in name rules, and /etc/hotplug-preinit.json.d/*\u000aat the end of the preinit script. Fragments are run in sorted order.\u000aA fragment that creates a node keeps it: the generic rule below still\u000aruns, but its mknod() fails with EEXIST and leaves the node alone.\u000a\u000aThis is done in preparation for deprecating some of the subtarget-wide\u000aFEATURES flags, instead introducing feature-umbrella packages such as\u000a`video-support` and `audio-support` shipping the hotplug rule snippets\u000aand having all providers (ie. kmods) and users depend on them.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-29 15:29:43 +0100",
        "id" : "ffbd82ed6c45e7dce6590737c874853b321d46da",
        "msg" : "procd: include hotplug rule fragments from drop-in dirs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/system/procd/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "package/system/procd/files/hotplug-preinit.json"
          },
          {
            "editType" : "edit",
            "file" : "package/system/procd/files/hotplug.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "scripts/package-metadata.pl"
        ],
        "commitId" : "6e638524eed4c7ca316043a9c2d8309282369fca",
        "timestamp" : 1790692183000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "build: order the Hardware support menu before Base system\u000a\u000aCategories other than Base system are emitted in alphabetical order, so\u000aa category describing the hardware a device has would land halfway down\u000athe package menu among unrelated ones. Emit Hardware support first\u000ainstead, ahead of Base system, since which device classes an image\u000asupports is the first thing to choose and everything else follows from\u000ait.\u000a\u000aprint_package_config_category() returns early for a category no package\u000auses, so this has no effect until such a package exists.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-29 15:29:43 +0100",
        "id" : "6e638524eed4c7ca316043a9c2d8309282369fca",
        "msg" : "build: order the Hardware support menu before Base system",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "scripts/package-metadata.pl"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/base-files/files/etc/group",
          "target/linux/imx/image/cortexa7.mk",
          "target/linux/ramips/image/mt7620.mk",
          "target/linux/ipq806x/image/chromium.mk",
          "target/linux/imx/image/cortexa9.mk",
          "target/linux/ramips/image/mt7621.mk",
          "package/system/procd/Makefile",
          "package/system/procd/files/hotplug.json",
          "package/system/hardware-support/files/20-audio.json",
          "target/linux/ramips/image/rt305x.mk",
          "package/kernel/linux/modules/sound.mk",
          "target/linux/mxs/image/Makefile",
          "package/system/hardware-support/Makefile",
          "target/linux/sunxi/image/cortexa8.mk"
        ],
        "commitId" : "e06e3a621b06ad2e750a973f05a7e44c76433b59",
        "timestamp" : 1790692183000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "audio-support: move audio device handling out of procd\u000a\u000aThe audio group and the rule that puts the ALSA character devices in it\u000aare part of procd and base-files, so every image carries them whether or\u000anot it has a sound card, and a package wanting the group has nothing to\u000adepend on. Playback, capture and MIDI all land in one group as well, so a\u000aprocess allowed to play is also allowed to record.\u000a\u000aMove the lot into a new audio-support package with three groups, audio,\u000aaudio-capture and midi, and a hotplug fragment that sorts the sound nodes\u000abetween them. kmod-sound-core depends on the package, and so do the image\u000aprofiles that ship a sound driver. The dependency is a plain one, not a\u000aselect, so sound support is offered once the feature is chosen; userspace\u000athat needs one of the groups depends on the same package. Images without\u000ait fall back to the generic rule and get /dev/snd/* as 0600 root:root.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-29 15:29:43 +0100",
        "id" : "e06e3a621b06ad2e750a973f05a7e44c76433b59",
        "msg" : "audio-support: move audio device handling out of procd",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/ramips/image/mt7620.mk"
          },
          {
            "editType" : "edit",
            "file" : "package/base-files/files/etc/group"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ramips/image/mt7621.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq806x/image/chromium.mk"
          },
          {
            "editType" : "edit",
            "file" : "package/kernel/linux/modules/sound.mk"
          },
          {
            "editType" : "edit",
            "file" : "package/system/procd/files/hotplug.json"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mxs/image/Makefile"
          },
          {
            "editType" : "add",
            "file" : "package/system/hardware-support/files/20-audio.json"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ramips/image/rt305x.mk"
          },
          {
            "editType" : "edit",
            "file" : "package/system/procd/Makefile"
          },
          {
            "editType" : "add",
            "file" : "package/system/hardware-support/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/imx/image/cortexa9.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/sunxi/image/cortexa8.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/imx/image/cortexa7.mk"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/gemini/Makefile",
          "target/linux/ipq40xx/image/generic.mk",
          "target/linux/loongarch64/Makefile",
          "target/linux/mediatek/mt7623/target.mk",
          "target/linux/tegra/Makefile",
          "package/kernel/linux/modules/video.mk",
          "target/linux/at91/sama5/target.mk",
          "package/system/hardware-support/files/30-video.json",
          "target/linux/x86/Makefile",
          "target/linux/bcm27xx/Makefile",
          "target/linux/imx/Makefile",
          "target/linux/sunxi/Makefile",
          "package/system/hardware-support/Makefile",
          "target/linux/armsr/Makefile"
        ],
        "commitId" : "e829091f342049b44894d9e20067023fa7e0da74",
        "timestamp" : 1790692183000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "video-support: add a package for display device handling\u000a\u000aThe display target feature gates every DRM module, but it says nothing\u000auseful: it is set on ten targets, so a mediatek/mt7623 board can have a\u000adisplay while a filogic board with a MIPI DBI panel cannot, and rockchip\u000aclaims it for a NanoPi R2S as much as for a Rock 5B. Whether a board\u000adrives a panel is a per-device choice, not a property of the SoC family.\u000aThe DRM and V4L2 nodes also end up 0600 root:root, so a display server\u000aruns as root or not at all.\u000a\u000aAdd a video-support package which allocates the video and video-capture\u000agroups and installs the hotplug rules for the DRM and V4L2 nodes, and\u000amake the modules depend on it. The dependency is a plain one, not a\u000aselect, so the modules are offered once the feature is chosen. Targets\u000awhose display drivers are built into the kernel carry the package in\u000aDEFAULT_PACKAGES, since no module pulls it in for them, and the one\u000adevice profile that ships a DRM module on another target lists it\u000adirectly. DISPLAY_SUPPORT stays for now, so this changes no existing\u000aselection.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-29 15:29:43 +0100",
        "id" : "e829091f342049b44894d9e20067023fa7e0da74",
        "msg" : "video-support: add a package for display device handling",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/gemini/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/armsr/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/imx/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/sunxi/Makefile"
          },
          {
            "editType" : "add",
            "file" : "package/system/hardware-support/files/30-video.json"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/loongarch64/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/x86/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "package/kernel/linux/modules/video.mk"
          },
          {
            "editType" : "edit",
            "file" : "package/system/hardware-support/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq40xx/image/generic.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/mt7623/target.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/tegra/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/at91/sama5/target.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/system/hardware-support/Makefile",
          "package/system/hardware-support/files/35-accel.json"
        ],
        "commitId" : "a6524274c17ad83f6f0729196feb8b58d93ccfa5",
        "timestamp" : 1790692183000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "accel-support: add a package for render device handling\u000a\u000aThe DRM render and compute nodes, /dev/dri/renderD*, /dev/accel/accel*\u000aand /dev/kfd, come out 0600 root:root, so anything using a GPU for\u000acompute or for accelerated rendering runs as root. They also share the\u000avideo group with the modesetting nodes wherever a distribution grants it,\u000awhich hands scanout control to every process allowed to compute.\u000a\u000aAdd an accel-support package which allocates the render group and puts\u000athose nodes into it. No kernel module carries a dependency on it: whether\u000aa device offers a render node is a property of the driver, not of the\u000amodule, so userspace that wants the group depends on the package.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-29 15:29:43 +0100",
        "id" : "a6524274c17ad83f6f0729196feb8b58d93ccfa5",
        "msg" : "accel-support: add a package for render device handling",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/system/hardware-support/Makefile"
          },
          {
            "editType" : "add",
            "file" : "package/system/hardware-support/files/35-accel.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/system/hardware-support/files/40-input.json",
          "target/linux/ramips/image/mt76x8.mk",
          "package/system/hardware-support/Makefile",
          "package/kernel/linux/modules/input.mk"
        ],
        "commitId" : "a7c50f7d73989c2d6f3a30b333b1b83d4dadfd7f",
        "timestamp" : 1790692183000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "input-support: add a package for input device handling\u000a\u000aThe evdev character devices come out 0600 root:root, so a display server\u000aor any other process reading keyboards and pointers runs as root.\u000a\u000aAdd an input-support package which allocates the input group and puts the\u000ainput nodes into it, and make the evdev and joydev modules depend on it.\u000aThe one device profile that ships evdev lists the package directly.\u000akmod-input-core stays ungated: it carries no device node of its own, and\u000amost drivers built on it deliver their events to in-kernel consumers such\u000aas the keyboard and button handlers.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-29 15:29:43 +0100",
        "id" : "a7c50f7d73989c2d6f3a30b333b1b83d4dadfd7f",
        "msg" : "input-support: add a package for input device handling",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/system/hardware-support/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "package/kernel/linux/modules/input.mk"
          },
          {
            "editType" : "add",
            "file" : "package/system/hardware-support/files/40-input.json"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ramips/image/mt76x8.mk"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/kernel/linux/modules/dvb.mk",
          "package/system/hardware-support/Makefile",
          "package/system/hardware-support/files/45-dvb.json"
        ],
        "commitId" : "94b949df483b79ba7d823d9e0514466b9b7b3f09",
        "timestamp" : 1790692183000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "dvb-support: add a package for DVB device handling\u000a\u000aThe DVB adapter nodes under /dev/dvb come out 0600 root:root, so a\u000atuner daemon runs as root.\u000a\u000aAdd a dvb-support package which allocates the dvb group and puts those\u000anodes into it, and make kmod-dvb-core depend on it.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-29 15:29:43 +0100",
        "id" : "94b949df483b79ba7d823d9e0514466b9b7b3f09",
        "msg" : "dvb-support: add a package for DVB device handling",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/kernel/linux/modules/dvb.mk"
          },
          {
            "editType" : "edit",
            "file" : "package/system/hardware-support/Makefile"
          },
          {
            "editType" : "add",
            "file" : "package/system/hardware-support/files/45-dvb.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/system/hardware-support/files/50-kvm.json",
          "package/system/hardware-support/Makefile"
        ],
        "commitId" : "801c947113e074e46bfbcf3c316dce8910e7a656",
        "timestamp" : 1790692183000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "kvm-support: add a package for KVM device handling\u000a\u000a/dev/kvm comes out 0600 root:root, so a hypervisor runs as root.\u000a\u000aAdd a kvm-support package which allocates the kvm group and puts the node\u000ainto it. KVM is built into the kernel where it exists, so no module\u000acarries a dependency on the package; userspace depends on it.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-29 15:29:43 +0100",
        "id" : "801c947113e074e46bfbcf3c316dce8910e7a656",
        "msg" : "kvm-support: add a package for KVM device handling",
        "paths" : [
          {
            "editType" : "add",
            "file" : "package/system/hardware-support/files/50-kvm.json"
          },
          {
            "editType" : "edit",
            "file" : "package/system/hardware-support/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/system/hardware-support/files/55-printer.json",
          "package/system/hardware-support/Makefile",
          "package/kernel/linux/modules/other.mk",
          "package/kernel/linux/modules/usb.mk"
        ],
        "commitId" : "1ccaee3465ca84b7846fabf7028d4259dc64a08e",
        "timestamp" : 1790692183000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "printer-support: add a package for printer device handling\u000a\u000aThe USB and parallel port printer nodes come out 0600 root:root, so a\u000aprint spooler runs as root. The lp group is already allocated by p910nd\u000ain the packages feed with gid 7, without anything creating it.\u000a\u000aAdd a printer-support package which allocates that group and puts the\u000ausblp, lp and ppdev nodes into it, and make kmod-usb-printer and kmod-lp\u000adepend on it.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-29 15:29:43 +0100",
        "id" : "1ccaee3465ca84b7846fabf7028d4259dc64a08e",
        "msg" : "printer-support: add a package for printer device handling",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/kernel/linux/modules/other.mk"
          },
          {
            "editType" : "edit",
            "file" : "package/kernel/linux/modules/usb.mk"
          },
          {
            "editType" : "add",
            "file" : "package/system/hardware-support/files/55-printer.json"
          },
          {
            "editType" : "edit",
            "file" : "package/system/hardware-support/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/system/hardware-support/Makefile"
        ],
        "commitId" : "d41436952735e5622e4243bfbc975a6494bd0d64",
        "timestamp" : 1790692183000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "scanner-support: add a package for the scanner group\u000a\u000aScanner access is granted per device: a USB scanner is matched by vendor\u000aand product id against a database of supported devices, which only the\u000adriver package has. There is no device class to write a generic hotplug\u000arule against, and putting every USB device node into a group would grant\u000afar more than scanner access.\u000a\u000aAllocate the scanner group and nothing else, so the id is the same on\u000aevery image, one package owns it, and scanner userspace has something to\u000adepend on. The rule granting access to a particular device stays with\u000athe driver package.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-29 15:29:43 +0100",
        "id" : "d41436952735e5622e4243bfbc975a6494bd0d64",
        "msg" : "scanner-support: add a package for the scanner group",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/system/hardware-support/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/system/hardware-support/files/60-hidraw.json",
          "package/system/hardware-support/Makefile"
        ],
        "commitId" : "98158852204e16ed242a1ded2916fb7e26f0e956",
        "timestamp" : 1790692183000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "hidraw-support: add a package for raw HID device handling\u000a\u000aA HID device a driver hands to userspace whole, a UPS, a relay board or\u000aa programmable keypad, appears as a hidraw node and is opened directly\u000aby the program driving it. Everything of that kind runs as root today,\u000abecause the generic rule leaves the node 0600 root:root and there is no\u000agroup for it.\u000a\u000aAllocate the hidraw group and install the rule which puts the hidraw\u000anodes into it. This is a separate class from the evdev nodes that\u000ainput-support covers: hidapi and the packages using it open hidraw, and\u000aa keyboard or a mouse is read through evdev.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-29 15:29:43 +0100",
        "id" : "98158852204e16ed242a1ded2916fb7e26f0e956",
        "msg" : "hidraw-support: add a package for raw HID device handling",
        "paths" : [
          {
            "editType" : "add",
            "file" : "package/system/hardware-support/files/60-hidraw.json"
          },
          {
            "editType" : "edit",
            "file" : "package/system/hardware-support/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/generic/config-6.18"
        ],
        "commitId" : "bf399ce146bc4f6fceadd1a1704cc8e595b0b186",
        "timestamp" : 1790692183000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "kernel: answer the DRM symbols a modular DRM makes visible\u000a\u000aThe DRM and fb kmods are about to lose their target feature gate, so\u000athey become selectable on targets whose kernel config has never had\u000aCONFIG_DRM set. Enabling DRM there makes symbols visible that no\u000afragment answers, and syncconfig stops to ask about them, which fails\u000aa non-interactive build.\u000a\u000aAnswer them in the generic config: the default DRM client, which\u000aappears once a client is built, the NXP display bridges that ARCH_MXC\u000aexposes, and the Acer Aspire 1 embedded controller.\u000a\u000aThe set was taken by merging each target's fragments with the kmods'\u000aKCONFIG and recording every symbol the kernel's own oldconfig marks\u000aNEW, on layerscape/armv7, qualcommbe/ipq95xx, mediatek/filogic and\u000aramips/mt7621, which covers arm, arm64 and mips.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-29 15:29:43 +0100",
        "id" : "bf399ce146bc4f6fceadd1a1704cc8e595b0b186",
        "msg" : "kernel: answer the DRM symbols a modular DRM makes visible",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/generic/config-6.18"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/kernel/linux/modules/video.mk",
          "package/utils/fbtest/Makefile",
          "package/kernel/linux/modules/sound.mk"
        ],
        "commitId" : "c375123b3b6e2b5c2f85480b45e43215fb414893",
        "timestamp" : 1790692183000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "kernel: drop the audio and display feature gates\u000a\u000aThe sound and DRM modules carry a dependency on audio-support and\u000avideo-support, which is what decides whether an image handles those\u000adevices. The AUDIO_SUPPORT and DISPLAY_SUPPORT tokens beside them add a\u000asecond, per-SoC-family condition that a board cannot influence, and that\u000aDISPLAY_SUPPORT is half derived from whatever kernel configuration was\u000acopied into a target's fragment.\u000a\u000aDrop the tokens from the module dependencies and from fbtest.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-29 15:29:43 +0100",
        "id" : "c375123b3b6e2b5c2f85480b45e43215fb414893",
        "msg" : "kernel: drop the audio and display feature gates",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/utils/fbtest/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "package/kernel/linux/modules/video.mk"
          },
          {
            "editType" : "edit",
            "file" : "package/kernel/linux/modules/sound.mk"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/uml/Makefile",
          "target/linux/bcm27xx/Makefile",
          "target/linux/gemini/Makefile",
          "target/linux/ipq40xx/generic/target.mk",
          "target/linux/imx/Makefile",
          "target/linux/sunxi/Makefile",
          "target/linux/loongarch64/Makefile",
          "target/linux/mediatek/mt7623/target.mk",
          "target/linux/tegra/Makefile",
          "target/linux/x86/generic/target.mk",
          "target/linux/omap/Makefile",
          "target/linux/rockchip/Makefile"
        ],
        "commitId" : "de2f69bf8971e3983156cd39f528b500b29297e6",
        "timestamp" : 1790692183000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "treewide: drop the audio and display target features\u000a\u000aBoth features describe an SoC family, which is the wrong granularity: a\u000amediatek/mt7623 board claims a display while a filogic board with a MIPI\u000aDBI panel cannot, and rockchip claims audio for a NanoPi R2S as much as\u000afor a Rock 5B. The audio-support and video-support packages carry that\u000ainformation per image, and the modules depend on them.\u000a\u000aDrop both features from every target that declares them.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-29 15:29:43 +0100",
        "id" : "de2f69bf8971e3983156cd39f528b500b29297e6",
        "msg" : "treewide: drop the audio and display target features",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/uml/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/imx/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/gemini/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/loongarch64/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/sunxi/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq40xx/generic/target.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/omap/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/mt7623/target.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/tegra/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/rockchip/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/x86/generic/target.mk"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "config/Config-build.in",
          "scripts/target-metadata.pl",
          "target/Config.in",
          "include/target.mk"
        ],
        "commitId" : "da6323e54c9cb75479eb5be5c83d43a15d5c3c34",
        "timestamp" : 1790692183000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "build: remove the AUDIO_SUPPORT and DISPLAY_SUPPORT symbols\u000a\u000aNothing tests either symbol any more. AUDIO_SUPPORT was also selected by\u000aPCI_SUPPORT and USB_SUPPORT, which stood for \"a sound card could be\u000aplugged in here\": audio hardware sits behind MMC, SPI, a Bluetooth UART\u000aor an SoC PCM block just as often, so the inference never held. The\u000adisplay feature was derived from a literal CONFIG_VGA_CONSOLE or CONFIG_FB\u000ain a kernel fragment, which misses every target whose fbdev came from DRM\u000aemulation.\u000a\u000aDelete both symbols, the two selects, the feature translations and the\u000aderivation.\u000a\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-29 15:29:43 +0100",
        "id" : "da6323e54c9cb75479eb5be5c83d43a15d5c3c34",
        "msg" : "build: remove the AUDIO_SUPPORT and DISPLAY_SUPPORT symbols",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "scripts/target-metadata.pl"
          },
          {
            "editType" : "edit",
            "file" : "include/target.mk"
          },
          {
            "editType" : "edit",
            "file" : "config/Config-build.in"
          },
          {
            "editType" : "edit",
            "file" : "target/Config.in"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/system/rpcd/Makefile"
        ],
        "commitId" : "34aa4c81eca6179840f7d07500abad56c4ca8a1f",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "rpcd: update to Git HEAD (2026-09-25)\u000a\u000a4062f666ecd1 file: reply with empty data instead of error for empty files\u000aa6c6b63b47bd ucode: add compatibility to newer ucode version\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "34aa4c81eca6179840f7d07500abad56c4ca8a1f",
        "msg" : "rpcd: update to Git HEAD (2026-09-25)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/system/rpcd/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/libs/udebug/Makefile"
        ],
        "commitId" : "e43ef4a8943aaf58b7d2eb83be97534fb5d8bade",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "udebug: update to Git HEAD (2026-09-25)\u000a\u000a6726e98ad694 lib-ucode: add missing fcntl.h include\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "e43ef4a8943aaf58b7d2eb83be97534fb5d8bade",
        "msg" : "udebug: update to Git HEAD (2026-09-25)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/libs/udebug/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/system/ubus/Makefile"
        ],
        "commitId" : "a1a104a8d8c44e316177c865fbc78a765240965d",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "ubus: update to Git HEAD (2026-09-25)\u000a\u000acd51fc0031ff libubus: refuse to send a message the peer must reject\u000a9ba1ab795b2f libubus: drop the connection when a message cannot be read\u000ace54d7a956a5 ubusd_main: free partially received message on client disconnect\u000a6b5c6f166db4 ubusd_main: free queued lookup commands on client disconnect\u000ab012bc067515 ubusd_acl: use SO_PEERGROUPS instead of parsing /proc for peer gids\u000a955ff3f7030c ubusd: fix use-after-free when resuming a queued object lookup\u000afb1dd8e0d7c8 ubusd: document the bound on the pending-message body read\u000a3a39a800f162 libubus-req: fix double close of the fd in ubus_complete_deferred_request\u000a4d60031579d2 libubus: fix msgbuf leak on ubus_channel_connect error path\u000a91b0dadfd1ed libubus-req: fix error check on the __ubus_notify_async result\u000a82416940eae8 libubus-io: do not resend the fd on partial writes in writev_retry\u000a618f3cf75ae3 libubus-obj: fix fd leaks on object message error paths\u000a2f52ae367c93 ubusd_main: flush the tx queue after freeing the client's objects\u000acdb648c3283a ubusd_obj: propagate subscription allocation failure to the client\u000a7c5c06825daf ubusd_proto: fix double close of forwarded invoke fd\u000ad8fec00656a6 ubusd: keep the fd alive while a message waits in the tx queue\u000abde609c2400e ubusd_acl: copy the filename used as the ACL file vlist key\u000a008655958eb4 ubusd_acl: do not treat unresolvable ACL user/group names as id 0\u000a5331c00f37f7 ubusd_event: document reserved event namespace forgery check\u000aef37ed207183 ubusd_event: use an unsigned type for the event dedup sequence\u000ae12ad4bd667f ubusd: flag event messages as not expecting a reply\u000a9d709c536cd6 ubusd_event: report allocation failure as out of memory\u000a5170a5818b54 ubusd: use canonical SCM_RIGHTS extraction on the receive path\u000a8dfee69c250c ubusd_main: do not abort startup when the default socket dir fails\u000a17f78610d771 ubusd: disconnect the client when a partially sent message is dropped\u000af5e5836704c8 cli: parse monitored payloads with the untrusted blob parser\u000a11e411e36f08 libubus: close the passed fd when the request exceeds the size limit\u000acbc27b66d813 ubusd: stop writing to a client already flagged for disconnect\u000a2ec13d49ba37 libubus: do not restart the ACL query while one is in flight\u000a297baef62eee libubus: free queued pending messages on shutdown\u000a17525550a36b ubus/lua: fix Lua stack imbalance on policy allocation failure\u000afdd9ff1fe0fc ubus/lua: copy the Lua strings stored in registered objects\u000aeb5a8284d176 ubusd: close the forwarded fd when the invoke reply cannot be built\u000a3930745d8593 tests/fuzz: fix out-of-bounds read in header validation harness\u000ab27014cf7978 tests/fuzz: use size of blob_attr, not of a pointer, in length guard\u000a414c60a2e29e ubus/lua: store event handler ref without polluting the callback table\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "a1a104a8d8c44e316177c865fbc78a765240965d",
        "msg" : "ubus: update to Git HEAD (2026-09-25)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/system/ubus/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/services/hostapd/src/wpa_supplicant/ucode.c",
          "package/network/services/hostapd/files/wpa_supplicant.uc"
        ],
        "commitId" : "fcd9dbf534374fb6c249f77c5c64b055a91e5656",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "hostapd: let the ucode DPP hook send a GAS comeback request\u000a\u000aA GAS responder whose answer exceeds gas_frag_limit answers the initial\u000arequest with a comeback delay and holds the payload for GAS Comeback\u000aRequests. hostapd does that for a DPP configuration response of any size\u000aabove 1400 octets, which a configuration object for several BSSs\u000aexceeds, and an enrollee driven through this hook could not ask for it:\u000atx_gas_req builds an initial request around a payload, and tx_action\u000arebuilds whatever it is given as a DPP message, so neither carries the\u000aplain public action frame a comeback needs.\u000a\u000adpp_send_gas_comeback_req exposes gas_build_comeback_req the same way\u000adpp_send_gas_req exposes its counterpart, and the channel takes it as\u000atx_gas_comeback_req.\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "fcd9dbf534374fb6c249f77c5c64b055a91e5656",
        "msg" : "hostapd: let the ucode DPP hook send a GAS comeback request",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/services/hostapd/src/wpa_supplicant/ucode.c"
          },
          {
            "editType" : "edit",
            "file" : "package/network/services/hostapd/files/wpa_supplicant.uc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/config/wifi-scripts/files-ucode/usr/share/schema/wireless.wifi-iface.json"
        ],
        "commitId" : "54a6f4ee1eded0a38ac0dbb7a322f0d53da6a9c4",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "wifi-scripts: declare the dpp option in the wifi-iface schema\u000a\u000aiface.uc adds the DPP AKM beside the one the encryption keyword selects when\u000a`dpp` is set, which is how a credential naming several AKMs is expressed, but\u000athe option was in no schema. netifd answered \"dpp is not present in the\u000aschema\" on every reload that used it.\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "54a6f4ee1eded0a38ac0dbb7a322f0d53da6a9c4",
        "msg" : "wifi-scripts: declare the dpp option in the wifi-iface schema",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/config/wifi-scripts/files-ucode/usr/share/schema/wireless.wifi-iface.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/services/hostapd/files/hostapd.uc"
        ],
        "commitId" : "79444dcc6847fc42e8ceb7a2c339442c7b75a3c3",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "hostapd: let a preserved BSS keep the address it already has\u000a\u000aiface_config_macaddr_list() marks every address of the running configuration\u000aof a PHY, and every MLD address, with -1. The branch that carries a preserved\u000aBSS's address into the new configuration read that as taken and was therefore\u000anever reached, so the address stayed unclaimed in macaddr_list while the BSS\u000awent on using it. The generator of step 6 then handed the same address to a\u000anewly added BSS:\u000a\u000a    Duplicate BSSID b6:ad:9f:70:fb:4a on interface 'ap-mld6' and 'ap-mld0'.\u000a    Failed to add new bss ap-mld0 on phy phy0.0\u000a    Restart interface for phy phy0.0\u000a\u000ahostapd refused its own configuration and restarted the PHY under the stations\u000ait served. A four address backhaul station survived that restart as associated\u000aand stopped carrying data, which took a Multi-AP agent off the mesh until its\u000adaemon was restarted.\u000a\u000aThe address is asked about by the BSS that already holds it, so a reservation\u000aover it is its own. Measured on a seven BSS AP MLD: the reconfiguration that\u000aproduced the three lines above now produces none of them, and the backhaul\u000astation keeps its association across it.\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "79444dcc6847fc42e8ceb7a2c339442c7b75a3c3",
        "msg" : "hostapd: let a preserved BSS keep the address it already has",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/services/hostapd/files/hostapd.uc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/services/hostapd/src/src/ap/ucode.c",
          "package/network/services/hostapd/src/src/ap/ucode.h",
          "package/network/services/hostapd/patches/601-ucode_support.patch"
        ],
        "commitId" : "27b8aa25f85ba9f171dcff9645981b80d141073b",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "hostapd: answer a DPP frame on the link that holds the channel\u000a\u000aThe ucode DPP API sends from the BSS the caller names. An AP MLD holds\u000aone BSS per link, each with its own address and channel, and the BSS\u000athat receives a frame is not always the one that holds the channel the\u000aframe arrived on. The answer then leaves under the address of one link\u000aon the channel of another, and the peer does not acknowledge it.\u000a\u000aSend from the link whose channel the caller names. The GAS hook named no\u000achannel at all, so pass the one the request arrived on.\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "27b8aa25f85ba9f171dcff9645981b80d141073b",
        "msg" : "hostapd: answer a DPP frame on the link that holds the channel",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/services/hostapd/src/src/ap/ucode.c"
          },
          {
            "editType" : "edit",
            "file" : "package/network/services/hostapd/src/src/ap/ucode.h"
          },
          {
            "editType" : "edit",
            "file" : "package/network/services/hostapd/patches/601-ucode_support.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/services/hostapd/files/wpa_supplicant.uc"
        ],
        "commitId" : "24723ba31095f78751ba20be4c3850609a79603b",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "hostapd: name the DPP chirp listen frequency\u000a\u000aThe ubus field was called scan_interval, which names a duration.\u000awpa_supplicant reads it as \"DPP_CHIRP listen=\", a frequency in MHz. A\u000acaller that passed a duration made the driver reject the\u000aremain-on-channel request, and the enrollee listened on nothing between\u000achirp rounds.\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "24723ba31095f78751ba20be4c3850609a79603b",
        "msg" : "hostapd: name the DPP chirp listen frequency",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/services/hostapd/files/wpa_supplicant.uc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/utils/provision/files/usr/sbin/provision"
        ],
        "commitId" : "83e7914958999bb7be898056175b89e69875693d",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "provision: name the create command in the not-found message\u000a\u000aThe message told the user to run \"provision enable\", but no such command\u000aexists. The command that makes the partition is \"provision create\".\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "83e7914958999bb7be898056175b89e69875693d",
        "msg" : "provision: name the create command in the not-found message",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/utils/provision/files/usr/sbin/provision"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/base-files/files/sbin/sysupgrade"
        ],
        "commitId" : "725a1dc534a1ad1008ae0412925100fef66a776f",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "base-files: create the provisioning partition on sysupgrade by default\u000a\u000aThe partition holds data that must survive a factory reset, so a device\u000aneeds it before the data exists, not after. Waiting for the user to pass\u000a-P means the partition is missing on exactly the devices that were never\u000aflashed with it in mind.\u000a\u000aThe partition is only created if it does not exist yet, and --no-provisioning\u000aturns the behaviour off.\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "725a1dc534a1ad1008ae0412925100fef66a776f",
        "msg" : "base-files: create the provisioning partition on sysupgrade by default",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/base-files/files/sbin/sysupgrade"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/config/wifi-scripts/files/lib/wifi/mac80211.uc"
        ],
        "commitId" : "2de3225246a87db0b1d01cee62f5ec538f215c62",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "wifi-scripts: take the regdomain from the provisioning partition\u000a\u000aA factory reset drops /etc/config/wireless, so a regdomain that the user\u000aset there is gone after the reset. The provisioning partition survives a\u000afactory reset, so read \"wireless.country\" from it and let it override the\u000acountry from board.json when the wireless config is generated:\u000a\u000a  provision set wireless.country DE\u000a\u000aA provisioned country also keeps the default 5G and 6G interfaces\u000aenabled, which is what a board.json country does today.\u000a\u000aThe provision package is optional, so the module is loaded at runtime and\u000aa missing module leaves the previous behaviour unchanged.\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "2de3225246a87db0b1d01cee62f5ec538f215c62",
        "msg" : "wifi-scripts: take the regdomain from the provisioning partition",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/config/wifi-scripts/files/lib/wifi/mac80211.uc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/services/hostapd/files/hostapd.uc"
        ],
        "commitId" : "aa99fb89a0d2e63522d9ec42950bad02b1270d63",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "hostapd: add a ubus method to set MBO Association Disallowed\u000a\u000ahostapd holds the MBO Association Disallowed attribute in its own\u000aMBO-OCE element and sets it through the control interface command\u000a\"SET mbo_assoc_disallow\", which no ubus method reaches. A daemon that\u000awants to advertise it has to add a second MBO-OCE element as a vendor\u000aelement, and wpa_supplicant reads the attribute only from the first\u000aMBO-OCE element of a frame.\u000a\u000aAdd mbo_assoc_disallow { iface, reason } to the hostapd object. It sets\u000athe reason on every BSS of that name, which covers each link of an AP\u000aMLD; a reason of 0 allows association again.\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "aa99fb89a0d2e63522d9ec42950bad02b1270d63",
        "msg" : "hostapd: add a ubus method to set MBO Association Disallowed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/services/hostapd/files/hostapd.uc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/services/hostapd/src/src/ap/ubus.h",
          "package/network/services/hostapd/src/src/ap/ubus.c"
        ],
        "commitId" : "400c79e6b652c41894af788259d90029e85127b9",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "hostapd: let a ubus subscriber answer BTM queries, and extend beacon_req\u000a\u000abss_transition_query_answer lets the subscriber that answers a BSS\u000aTransition Management Query itself, stop hostapd from sending a BTM\u000aRequest of its own. The flag is cleared when the object loses its\u000alast subscriber.\u000a\u000arrm_beacon_req takes channel_reports, written as AP Channel Report\u000asubelements, and element_list, written as a Request subelement where\u000aReporting Detail is 1. A station rejects a request on channel 255 that\u000acarries no channel report (802.11-2024 11.10.9.1.1). Values that do not\u000afit an octet, and a request longer than the Measurement Request element\u000acan carry, are refused.\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "400c79e6b652c41894af788259d90029e85127b9",
        "msg" : "hostapd: let a ubus subscriber answer BTM queries, and extend beacon_req",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/services/hostapd/src/src/ap/ubus.h"
          },
          {
            "editType" : "edit",
            "file" : "package/network/services/hostapd/src/src/ap/ubus.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/services/hostapd/patches/071-VLAN-increase-netlink-buffer-size.patch"
        ],
        "commitId" : "c071e440ba074798a5a80c624350f3f9bd1562d4",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "hostapd: increase the netlink buffer of the dynamic VLAN socket\u000a\u000aThe dynamic VLAN code opens its own RTMGRP_LINK socket and takes the default\u000abuffer, where netlink_init() sets one since 070-netlink-increase-buffer-size.\u000aA reconfiguration that creates and destroys several interfaces bursts more\u000alink events than the default holds, and hostapd answered \"VLAN:\u000avlan_event_receive: recvfrom failed: No buffer space available\" and lost the\u000aevents it needed.\u000a\u000aMeasured on a seven BSS AP MLD: a bring-up that restarts both PHYs produced\u000aeighteen of those lines before and none after.\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "c071e440ba074798a5a80c624350f3f9bd1562d4",
        "msg" : "hostapd: increase the netlink buffer of the dynamic VLAN socket",
        "paths" : [
          {
            "editType" : "add",
            "file" : "package/network/services/hostapd/patches/071-VLAN-increase-netlink-buffer-size.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/services/hostapd/files/hostapd.uc"
        ],
        "commitId" : "4c6992b13bfab5105ea1f91f57e5c23601cae1c3",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "hostapd: keep MLD interfaces and their BSSes across config changes\u000a\u000aA config change below MLD level destroyed and recreated MLD netdevs and BSSes\u000athat could have been kept. This restarted the PHY and dropped all connected\u000astations. Three separate issues caused this:\u000a\u000a1. mld_find_matching_config() compared the whole vif config, so a change to an\u000a   SSID created a new MLD. mld_set_config() then reloaded every interface\u000a   without it, bss_check_mld() found no registry entry, iface_check_mld()\u000a   spliced all MLD BSSes out of the config, and the interface was removed when\u000a   no BSS was left. Replace it with mld_config_matches(), which compares only\u000a   the fields that define the netdev: name, wiphy, radio mask and address.\u000a   All other fields are BSS level and reach hostapd through the per PHY config\u000a   file. The radio mask is compared instead of the radio list, so a new order\u000a   of the device list keeps the MLD. mld_rename_bss() has no callers left and\u000a   is removed.\u000a\u000a2. bss_find_existing() accepted a hash match between MLD BSSes with different\u000a   names, which happens when the BSS set shifts and BSSes share the same\u000a   settings. Step 4 of iface_reload_config() then renamed one MLD netdev onto\u000a   the name of another one, which fails with EEXIST. An MLD BSS is identified\u000a   by its netdev name, so skip old MLD BSSes with a different name. The search\u000a   continues, and an old BSS with the correct name is kept.\u000a\u000a3. Step 2 preserved and renamed the first BSS even when the first BSS changes\u000a   between plain BSS and MLD link. This cannot work, because\u000a   hostapd_bss_setup_multi_link() only runs when a BSS is allocated. A rename\u000a   of an MLD link also renames the netdev that the other radios share. Delete\u000a   and recreate the first BSS instead. If no other BSS is kept, keep the old\u000a   first BSS until the first new BSS exists, so that the PHY always has a BSS.\u000a   Its address stays reserved until the delete. Delete it right after that,\u000a   because its netdev and /var/run/hostapd/<name> keep its name, and a later\u000a   new BSS can use that name. If another BSS is kept, delete the old first BSS\u000a   in step 3 as before, since a kept BSS can be renamed onto its name.\u000a   bss_remove() holds the delete sequence for both paths.\u000a\u000aTested on an AP MLD with 7 BSSes, going from 1 to 7 configured BSSes. The\u000amessages \"Skip MLD interface\", \"Remove interface\", \"Restart interface for phy\"\u000aand \"Renaming device ... failed: Object exists\" no longer appear, and a\u000a4-address backhaul station stays associated across the change.\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "4c6992b13bfab5105ea1f91f57e5c23601cae1c3",
        "msg" : "hostapd: keep MLD interfaces and their BSSes across config changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/services/hostapd/files/hostapd.uc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/services/hostapd/files/hostapd.uc"
        ],
        "commitId" : "87623c1e67a95d359da65be51ec4f2af6354ecec",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "hostapd: give the radio 0 link of an MLD the MLD address\u000a\u000abss_macaddr_next() gives the address of an MLD to its link on radio 0, and\u000athe address generation relies on that. Two paths keep an old link address\u000ainstead, even after the MLD address changed:\u000a\u000a- Step 2 of iface_reload_config() keeps the old BSSID of the first BSS when\u000a  the new one is a default address, because the first BSS cannot change it\u000a  in place.\u000a- The keep loop in iface_restart() gives a surviving BSS with a default\u000a  address its previous BSSID again.\u000a\u000aThe link then keeps its old address, and the MLD address is on no link.\u000a\u000aIn one case, a config change gave ap-mld0 a new MLD address and reloaded it\u000ain place. Link 0 kept the previous MLD address as its link address, so the\u000anew MLD address was on no link. From then on, about 30 % of the unicast\u000aframes to the associated backhaul station were lost (68 of 100 echo requests\u000aarrived), while the AP counted no failed transmission. A new association did\u000anot clear it; a full wifi down/up did.\u000a\u000aMove the decision of bss_macaddr_next() into bss_mld_addr(). The keep loop\u000aof iface_restart() skips a link whose previous address is not the MLD\u000aaddress, so the link gets the MLD address. Step 2 takes the restart path in\u000athe same case. A link that already has the MLD address stays in place, and\u000aplain BSSes, links on other radios and static addresses keep the old\u000abehaviour.\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "87623c1e67a95d359da65be51ec4f2af6354ecec",
        "msg" : "hostapd: give the radio 0 link of an MLD the MLD address",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/services/hostapd/files/hostapd.uc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/services/hostapd/src/src/ap/ucode.c"
        ],
        "commitId" : "9a81bf528dcd3e6d868492ab293263d186336992",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "hostapd: move the control socket with a renamed BSS\u000a\u000aWith CONFIG_IEEE80211BE, hostapd names the control socket of a BSS\u000aafter hapd->ctrl_sock_iface, not after conf->iface. bss.rename()\u000achanged conf->iface and opened the socket again, but kept the old\u000actrl_sock_iface. The renamed BSS therefore kept the socket of its old\u000aname.\u000a\u000aA reload that renames phy0-ap0 to phy0-ap2 and then adds a new\u000aphy0-ap0 failed for this reason. The new BSS found\u000a/var/run/hostapd/phy0-ap0 bound by the renamed BSS (\"ctrl_iface exists\u000aand seems to be in use\"), add_bss failed, and hostapd.uc restarted\u000athe whole phy. Measured on slot-1-agent2, 2026-09-28 13:56:19 (phy0)\u000aand 13:56:21 (phy1): each restart took all BSSes of the phy down for\u000aabout 2 s.\u000a\u000aSet ctrl_sock_iface from the new name before the socket is opened\u000aagain, as start_ctrl_iface_bss() does for a new BSS.\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "9a81bf528dcd3e6d868492ab293263d186336992",
        "msg" : "hostapd: move the control socket with a renamed BSS",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/services/hostapd/src/src/ap/ucode.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/services/hostapd/src/src/ap/ucode.c"
        ],
        "commitId" : "b833ad3511a67099dd3d0f0b98f4cea5f009dd69",
        "timestamp" : 1790695765000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
          "fullName" : "nbd"
        },
        "authorEmail" : "nbd@nbd.name",
        "comment" : "hostapd: initialise the result of bss.rename()\u000a\u000abss.rename(ifname, true) skips the driver rename, and ret was then\u000aread without a value. hostapd.uc passes no second argument today, so\u000ano caller reaches this.\u000a\u000aSigned-off-by: Felix Fietkau <nbd@nbd.name>\u000a",
        "date" : "2026-09-29 17:29:25 +0200",
        "id" : "b833ad3511a67099dd3d0f0b98f4cea5f009dd69",
        "msg" : "hostapd: initialise the result of bss.rename()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/services/hostapd/src/src/ap/ucode.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/soc/realtek/otto_table.c",
          "target/linux/realtek/files-6.18/include/linux/soc/realtek/otto_table.h"
        ],
        "commitId" : "782b7a88bab19a1e8e76dfaf5111ebe4f74da0fc",
        "timestamp" : 1790706704000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: soc: enhance to support L2 Table queries\u000a\u000aThe RTL9607C SoC has L2 tables that need specialized table procedure\u000afor queries using the access methods and hit bit, hit addresses and\u000asource ports.\u000a\u000aAdd a whole new otto_table_l2_query function for that functionality\u000awith separate read or write macros and their unlocked variants.\u000a\u000aWhile we are here, add the sp_bit to the otto_table struct so that the\u000aOTTO_TABLE_L2_METHOD_ADDR_NEXT_UC_PORT could be used as well.\u000a\u000aA lot of this code was based around rtl8365mb_table code in the DSA\u000adriver folder for RTL8365MB switch as the table interface overlap quite\u000asubstantially with RTL9607C.\u000a\u000aSigned-off-by: Rustam Adilov <adilov@tutamail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25332\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-29 20:31:44 +0200",
        "id" : "782b7a88bab19a1e8e76dfaf5111ebe4f74da0fc",
        "msg" : "realtek: soc: enhance to support L2 Table queries",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/soc/realtek/otto_table.c"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/include/linux/soc/realtek/otto_table.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "9e581d7b61517fa85072b0bbabac9ae0243e5812",
        "timestamp" : 1790706950000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: rtl930x: limit RX reset to supported modes\u000a\u000aThe RX reset helper defaulted to the 10G analog page for every mode\u000aexcept 1000Base-X. The vendor SDK, however, only applies this reset to\u000a1000Base-X, XSGMII, USXGMII and 10GBase-R. Other modes either use a\u000adifferent reset mechanism or do not perform this reset.\u000a\u000aRestrict the reset to the modes supported by the SDK, then use the\u000acommon CMU page selector to choose between the 1G and 10G analog pages.\u000aThis avoids toggling an unrelated 10G register for unsupported modes.\u000a\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:50 +0000",
        "id" : "9e581d7b61517fa85072b0bbabac9ae0243e5812",
        "msg" : "realtek: pcs: rtl930x: limit RX reset to supported modes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "1cf469ac9d3d2aaf5ac037006c7a730f25f2de79",
        "timestamp" : 1790706950000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: rtl930x: make XSG write targets explicit\u000a\u000aThe XSG write helper now uses two types of write calls, the rtl930x\u000aspecific implementation and the raw write helper for the second access.\u000aThis easily causes confusion because it is not obvious what happens here\u000aat a glance. Right now, this relies on the sds-id being correctly\u000ahandled by the 930x helper, while doing the same treatment for the\u000asecond call. Using a different helper for the first write might imply\u000athat behavior differs here.\u000a\u000aTo clean that up, use the raw write helper for both accesses and handle\u000athe sds-id translation completely in this routine.\u000a\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:50 +0000",
        "id" : "1cf469ac9d3d2aaf5ac037006c7a730f25f2de79",
        "msg" : "realtek: pcs: rtl930x: make XSG write targets explicit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "83a1dc91010f4251f183afa5d64422ca4b5eaefb",
        "timestamp" : 1790706950000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: rtl930x: read correct symbol errors for SGMII/1000Base-X\u000a\u000aBoth modes were incorrectly assigned to the same branch that 10GBase-R\u000aand USXGMII use for reading the symbol error count. This behavior is not\u000asupported by anything in the SDK. According to that, they fall into the\u000ageneric else case. Fix that by dropping those two modes from the branch\u000acondition.\u000a\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:50 +0000",
        "id" : "83a1dc91010f4251f183afa5d64422ca4b5eaefb",
        "msg" : "realtek: pcs: rtl930x: read correct symbol errors for SGMII/1000Base-X",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "b121ce06da062c41925ff5f13e84ac857e688ed4",
        "timestamp" : 1790706950000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: rtl930x: simplify return condition\u000a\u000aA return condition checking the same variable twice on < 0 and 0 and\u000areturning the same value then can be combined into a single check. No\u000adouble check is needed for that.\u000a\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:50 +0000",
        "id" : "b121ce06da062c41925ff5f13e84ac857e688ed4",
        "msg" : "realtek: pcs: rtl930x: simplify return condition",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "50aa0ed9f3d054f734c1cd1d6ab9503b9baecd80",
        "timestamp" : 1790706950000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: drop useless part of comment\u000a\u000aA part of a comment describing USXGMII-AN fields is useless now that the\u000awrite operation uses named register fields. Thus, drop this unneeded\u000apart and make the comment shorter.\u000a\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:50 +0000",
        "id" : "50aa0ed9f3d054f734c1cd1d6ab9503b9baecd80",
        "msg" : "realtek: pcs: drop useless part of comment",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "fa1caf2d5ec6b396995ffbefbe11e6525acde6f4",
        "timestamp" : 1790706950000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: rtl930x: fix RX calibration warning\u000a\u000aThe calibration retry loop warns whenever it reaches the third attempt,\u000aeven if that final attempt succeeds. Preserve the final check result\u000aand only warn when calibration actually remains unsuccessful.\u000a\u000aAssisted-by: ChatGPT (OpenAI GPT-5.6 Sol)\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:50 +0000",
        "id" : "fa1caf2d5ec6b396995ffbefbe11e6525acde6f4",
        "msg" : "realtek: pcs: rtl930x: fix RX calibration warning",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "d97dad9925539b8886325d2a0f9d314798bc807e",
        "timestamp" : 1790706950000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: rtl839x: reset SerDes pairs once\u000a\u000aThe RTL839x reset helper operates on both lanes of a SerDes pair.\u000aIterating over every lane therefore runs the same reset sequence twice\u000afor each 10G pair. Step through the SerDes array in pairs so each\u000asequence runs only once.\u000a\u000aAssisted-by: ChatGPT (OpenAI GPT-5.6 Sol)\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:50 +0000",
        "id" : "d97dad9925539b8886325d2a0f9d314798bc807e",
        "msg" : "realtek: pcs: rtl839x: reset SerDes pairs once",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "76a1d4261a9bd3510ec52e98cac6cf8e78b52e87",
        "timestamp" : 1790706950000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: rtl930x: propagate clock polling errors\u000a\u000aClock readiness polling currently ignores selector write failures and\u000atreats negative read results as asserted readiness. Check both accesses\u000aso register errors cannot satisfy the three-sample readiness condition.\u000a\u000aAssisted-by: ChatGPT (OpenAI GPT-5.6 Sol)\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:50 +0000",
        "id" : "76a1d4261a9bd3510ec52e98cac6cf8e78b52e87",
        "msg" : "realtek: pcs: rtl930x: propagate clock polling errors",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "cd7491f940d9aea4d8fa7783ad75eb23d93c0af5",
        "timestamp" : 1790706951000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: rtl838x: propagate initialization errors\u000a\u000aThe RTL838x initialization callback reports success even when powering\u000aoff or resetting the SerDes fails. Check the first regmap write and\u000areturn the result of the reset write so probe can report either\u000afailure.\u000a\u000aAssisted-by: ChatGPT (OpenAI GPT-5.6 Sol)\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:51 +0000",
        "id" : "cd7491f940d9aea4d8fa7783ad75eb23d93c0af5",
        "msg" : "realtek: pcs: rtl838x: propagate initialization errors",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "f4129f1694e366f0ef4e76ed3d23cdece38ef064",
        "timestamp" : 1790706951000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: rtl838x: propagate queue reset errors\u000a\u000aThe first SerDes start requests a switch queue reset but discards any\u000aregmap failure. Return the write result so PCS configuration does not\u000areport success when the required recovery reset failed.\u000a\u000aAssisted-by: ChatGPT (OpenAI GPT-5.6 Sol)\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:51 +0000",
        "id" : "f4129f1694e366f0ef4e76ed3d23cdece38ef064",
        "msg" : "realtek: pcs: rtl838x: propagate queue reset errors",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "7491adc057e04eb575468260b8dfa4522703fb75",
        "timestamp" : 1790706951000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: rtl930x: propagate SerDes power errors\u000a\u000aThe activate and deactivate callbacks ignore failures while changing\u000athe SerDes core analog power state and continue with further\u000aconfiguration. Return those errors immediately so callers do not\u000aproceed from an unknown power state.\u000a\u000aAssisted-by: ChatGPT (OpenAI GPT-5.6 Sol)\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:51 +0000",
        "id" : "7491adc057e04eb575468260b8dfa4522703fb75",
        "msg" : "realtek: pcs: rtl930x: propagate SerDes power errors",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "b52836e4643d16f53f498e778a04daccce4a6168",
        "timestamp" : 1790706951000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: share common phylink PCS operations\u000a\u000aAll supported switch families use identical phylink PCS callbacks.\u000aReplace the four duplicate operation tables with one common table to\u000aavoid unnecessary per-family definitions.\u000a\u000aAssisted-by: ChatGPT (OpenAI GPT-5.6 Sol)\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:51 +0000",
        "id" : "b52836e4643d16f53f498e778a04daccce4a6168",
        "msg" : "realtek: pcs: share common phylink PCS operations",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "d66dcd52586add2b88dbe14c0ba9390135a990a9",
        "timestamp" : 1790706951000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: rtl931x: fix XSG write indentation\u000a\u000aThe RTL931x XSG write helper uses spaces for indentation instead of the\u000akernel's usual tabs. Retab the function to satisfy checkpatch and match\u000athe surrounding code.\u000a\u000aAssisted-by: ChatGPT (OpenAI GPT-5.6 Sol)\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:51 +0000",
        "id" : "d66dcd52586add2b88dbe14c0ba9390135a990a9",
        "msg" : "realtek: pcs: rtl931x: fix XSG write indentation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "143a80dbadcd0183b2783139c765bc9ddb241e4b",
        "timestamp" : 1790706951000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: rtl930x: fix config array brace style\u000a\u000aPlace the opening braces of three RTL930x SerDes configuration arrays\u000aon their declaration lines. This follows the kernel coding style and\u000aclears the corresponding checkpatch errors.\u000a\u000aAssisted-by: ChatGPT (OpenAI GPT-5.6 Sol)\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:51 +0000",
        "id" : "143a80dbadcd0183b2783139c765bc9ddb241e4b",
        "msg" : "realtek: pcs: rtl930x: fix config array brace style",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "43e4ab952a0ce4bccae2bad51c9143aa72be7113",
        "timestamp" : 1790706951000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: rtl931x: drop unused register macro\u000a\u000aRTPCS_931X_MAC_SERDES_MODE_CTRL has no users. The driver configures\u000aRTL931x SerDes modes through the separate register field definitions,\u000aso remove the stale macro.\u000a\u000aAssisted-by: ChatGPT (OpenAI GPT-5.6 Sol)\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:51 +0000",
        "id" : "43e4ab952a0ce4bccae2bad51c9143aa72be7113",
        "msg" : "realtek: pcs: rtl931x: drop unused register macro",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "9dbe53f333f8f933fc766ed72b29d7fb28a7f514",
        "timestamp" : 1790706951000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: drop unused OF platform include\u000a\u000aThe driver does not use any declarations provided by of_platform.h.\u000aRemove the unnecessary include.\u000a\u000aAssisted-by: ChatGPT (OpenAI GPT-5.6 Sol)\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:51 +0000",
        "id" : "9dbe53f333f8f933fc766ed72b29d7fb28a7f514",
        "msg" : "realtek: pcs: drop unused OF platform include",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "b8f184464ba4f13dc58ad608733d07b70cd78331",
        "timestamp" : 1790706951000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: pcs: use managed mutex initialization\u000a\u000aThe PCS controller is managed and has no explicit remove path.\u000aInitialize its mutex with devm_mutex_init() so lock debugging state is\u000areleased together with the managed controller resources.\u000a\u000aAssisted-by: ChatGPT (OpenAI GPT-5.6 Sol)\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-29 18:35:51 +0000",
        "id" : "b8f184464ba4f13dc58ad608733d07b70cd78331",
        "msg" : "realtek: pcs: use managed mutex initialization",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
        ],
        "commitId" : "9f4ae59cff5eacd78450c10f2d2314cac4027ef2",
        "timestamp" : 1790712070000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: l3: free a route that never reached the hardware\u000a\u000aA route the add path allocates but cannot program stays behind. When\u000athe router MAC or the egress interface cannot be allocated, or the host\u000atable has no slot for it, otto_l3_fib_add_v4() jumps to out_free_rt,\u000awhich frees nothing, and the host trap for a route through a nexthop\u000aobject returns the same way. The route keeps its gateway hash entry,\u000aits id and its place on the route list until the kernel deletes it.\u000a\u000aMove the part of otto_l3_route_remove() that drops the driver's own\u000arecord of a route, namely the hash entry, the id bit, the list entry and\u000athe allocation, into otto_l3_route_free(), and call it on those paths\u000aas well. The hash entry now goes last rather than first; nothing in\u000abetween looks the route up there.\u000a\u000aThe delete that later comes for such a route finds nothing and logs\u000aso, where it used to find the unprogrammed route and remove it.\u000a\u000aTested on an RTL9303 (Hasivo S1100W-8XGT-SE) with the L3 offload on,\u000athis series on main at bfb9858944. Every removal goes through the new\u000afunction: a /24 and a /32 through a gateway, each replaced through a\u000anexthop object, through the other gateway and back, then deleted, and\u000aa replace between two gateways. The entries come and go as before, the\u000a/32 through the nexthop object as a trap, and the log shows no removal\u000aerror. With the IPv6 unicast series on top, two /128 routes are\u000aoffloaded and deleted without an entry error. The failure paths the new\u000acalls sit on were not reached on hardware.\u000a\u000aAssisted-by: Claude:claude-opus-5-5\u000aSigned-off-by: Gennaro Cimmino <gcimmino@rayonra.net>\u000aLink: https://github.com/openwrt/openwrt/pull/25312\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-29 22:01:10 +0200",
        "id" : "9f4ae59cff5eacd78450c10f2d2314cac4027ef2",
        "msg" : "realtek: l3: free a route that never reached the hardware",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
        ],
        "commitId" : "acfb645687efb76a981a16d88e6c3e72651006e9",
        "timestamp" : 1790712070000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: l3: spend a hop when the hardware forwards\u000a\u000aA router decrements the hop count of every packet it forwards. The rows\u000athis driver writes do not: both writers encode a decrement bit and a\u000acheck bit, both readers decode them, the debugfs dump prints them, and\u000anothing has ever set either. They are written as the zero the allocator\u000aleft behind.\u000a\u000aMeasured on an RTL9303 with the L3 offload built in, IPv4 through an\u000aoffloaded route and sent with a hop count of 64: the far side sees 64\u000aon an image that does not carry this commit and 63 on one built at it.\u000aThe switch was a hop that cost nothing, so a routing loop through it\u000anever expired and no traceroute could see it.\u000a\u000aThe Realtek GPL SDK builds a route entry with both bits set unless the\u000acaller asks for neither - dal_longan_l3.c has, for the host and the\u000aprefix entry alike,\u000a\u000a\u0009pEntry->ttl_dec = (pRoute->flags & RTK_L3_FLAG_TTL_DEC_IGNORE)? 0 : 1;\u000a\u0009pEntry->ttl_chk = (pRoute->flags & RTK_L3_FLAG_TTL_CHK_IGNORE)? 0 : 1;\u000a\u000aso this is the vendor's default for an entry created with no flags of\u000aits own, not a value chosen here.\u000a\u000aSet them where the route is given its action, and only when that\u000aaction forwards: a row that traps or drops is not a hop and keeps them\u000aclear, like every other trapping row this driver writes. That includes\u000aa route trapped while its next hop has no port. With both bits set on\u000asuch a row anyway, a packet sent at 64 still reaches the far side at 63\u000aon an RTL9303: the silicon does not spend the hop on a packet it traps,\u000aso this keeps the rows consistent rather than saving a decrement.\u000a\u000aOn its own this leaves a packet whose hop count runs out dropped in\u000asilicon rather than answered: the action for that is a field of the\u000aroute control register, left at zero by a setup this commit does not\u000atouch, and zero is drop. A later commit in this series sets it, so the\u000apacket reaches the CPU and the ICMP a router owes comes back.\u000a\u000aWhere it takes effect: the RTL930x writers are the ones that encode\u000athese bits, and that family needs the offload symbol no subtarget\u000aconfig sets. The RTL839x runs this file in a stock build, but its route\u000awriter puts neither bit in a register, so the assignment is a no-op\u000athere; the RTL838x and RTL931x have no L3 setup at all. Where they are\u000aprogrammed, a packet arriving with a hop count of one stops being\u000aforwarded, which is the point of them.\u000a\u000aAssisted-by: Claude:claude-opus-5\u000aAssisted-by: Claude:claude-opus-5-5\u000aSigned-off-by: Gennaro Cimmino <gcimmino@rayonra.net>\u000aLink: https://github.com/openwrt/openwrt/pull/25312\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-29 22:01:10 +0200",
        "id" : "acfb645687efb76a981a16d88e6c3e72651006e9",
        "msg" : "realtek: l3: spend a hop when the hardware forwards",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
        ],
        "commitId" : "9a1528a2a44442edb545d07db4e6d94cd0d0d735",
        "timestamp" : 1790712070000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: l3: rtl930x: say if a row move wrote anything\u000a\u000aotto_l3_930x_route_rows_move() copies prefix route rows one at a time,\u000areading each and writing it one place up or down, and returns whatever\u000aerror stopped it. A caller cannot tell a move that failed before\u000atouching the table from one that left the block half shifted.\u000a\u000aReturn -EAGAIN when no row was written: the table could not be\u000aacquired, or the first row could not be read. Return -EIO for a failed\u000awrite, and for a failed read once any row has been written, since the\u000ablock is half shifted from then on.\u000a\u000aNo functional change: both callers still test for any error. The next\u000acommit tells the two apart.\u000a\u000aAssisted-by: Claude:claude-opus-5-5\u000aSigned-off-by: Gennaro Cimmino <gcimmino@rayonra.net>\u000aLink: https://github.com/openwrt/openwrt/pull/25312\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-29 22:01:10 +0200",
        "id" : "9a1528a2a44442edb545d07db4e6d94cd0d0d735",
        "msg" : "realtek: l3: rtl930x: say if a row move wrote anything",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.h",
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
        ],
        "commitId" : "f0a0dab527d1a1d58a713a76adcbac989781e7d5",
        "timestamp" : 1790712070000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: l3: stop placing routes once a row move has failed\u000a\u000aOpening or closing a place in the prefix block moves rows one at a time,\u000aand the mover stops at the first row it cannot read or write. It says\u000awhether it had written anything, -EAGAIN or -EIO, but not how many rows\u000ait had already copied. Both callers read any error as \"nothing\u000ahappened\" and leave the list naming the rows the routes were at, which\u000aafter -EIO is wrong.\u000a\u000aWhat the table really holds then is a block shifted from some row on,\u000aone route present twice - at the row it was at and at the row its copy\u000areached - and a driver that believes neither. Two things follow from\u000athat, and both are silent:\u000a\u000aThe next route placed in that family is written from those names. Its\u000arow is computed as the first row at or below its prefix length, and the\u000aend of the block as the count of rows in use, which is now one short of\u000awhere the last route really is. So the write lands on a row that still\u000aholds a live route, and that route stops forwarding without anything\u000asaying so. It is found out only when it is removed, as \"was not in\u000ahardware\".\u000a\u000aAnd the copy the interrupted move left behind is a valid row with a\u000avalid next hop index. Removing the route clears the row the list names,\u000anot the copy, so the copy goes on forwarding with an index that will be\u000ahanded to another route.\u000a\u000aNeither can be undone from here. There is no count to renumber from, and\u000athe only thing that could copy the rows back is the engine that just\u000afailed. So stop: the table is marked unusable, and from that point\u000anothing is placed and nothing is compacted, because both are arithmetic\u000aon names that are known to be wrong. The placement stops only on -EIO:\u000aafter -EAGAIN the block is as it was, and the route gets no row this\u000atime. The compaction stops on either, because the leaving row is written\u000ainvalid before the move: even a move that wrote nothing leaves a hole\u000athe row count does not see, and the next placement would push the last\u000alive route off the end of the block. What is already in the table keeps\u000aforwarding and can still be removed one row at a time, which needs no\u000aarithmetic. A route that arrives after that gets no row, and what\u000abecomes of its traffic is whatever becomes of any destination the table\u000adoes not hold on that switch - on this branch, dropped in silicon.\u000a\u000aThe move can fail: the table command is polled with a 10 ms timeout, and\u000athe two sites that poll it already log when it expires, which is the\u000adriver's own statement that a table that does not answer is a thing that\u000ahappens. It has not been seen on an RTL9303 here, and this cannot be\u000aprovoked from outside, so what is claimed for it is that it fails closed\u000a- not that it was watched doing so.\u000a\u000aWhat it does not fix: the duplicate row. It stays valid until the driver\u000ais loaded again, and it forwards. Clearing it means asking the CAM for a\u000aroute that is in two places and invalidating both, on a path that has\u000ajust been told the table is not to be trusted - a second mechanism for a\u000astate this one has already declared broken and loud.\u000a\u000aAssisted-by: Claude:claude-opus-5\u000aAssisted-by: Claude:claude-opus-5-5\u000aSigned-off-by: Gennaro Cimmino <gcimmino@rayonra.net>\u000aLink: https://github.com/openwrt/openwrt/pull/25312\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-29 22:01:10 +0200",
        "id" : "f0a0dab527d1a1d58a713a76adcbac989781e7d5",
        "msg" : "realtek: l3: stop placing routes once a row move has failed",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.h"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
        ],
        "commitId" : "d958caff0c9ffa215dceb0718caad7d4955d8954",
        "timestamp" : 1790712070000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: l3: rtl930x: answer an expired packet\u000a\u000aA router that drops an expired packet without a word is a hole in every\u000atraceroute through it, and a routing loop that ends quietly instead of\u000abeing reported. Now that the rows this driver writes decrement the hop\u000acount and check it, the packets that fail that check exist, and the\u000asetup leaves the action for them at zero, which is drop.\u000a\u000aTrap them to the CPU instead, and the kernel answers with the ICMP the\u000arouter owes. The field is TTL_FAIL_ACT at bit 17 of the IPv4 route\u000acontrol and HL_FAIL_ACT at bit 21 of the IPv6 one, two bits each, and\u000athe Realtek GPL SDK gives their values in order as drop, trap to CPU,\u000atrap to master CPU - _actIpucRouteCtrlTtlFail and\u000a_actIp6ucRouteCtrlHlFail in dal_longan_l3.c.\u000a\u000aThe trap has no limiter of its own, and neither has any other trap this\u000adriver sets: the rows for the switch's own addresses and the row that\u000acatches what no other row matches all hand their packets to the CPU the\u000asame way. A packet only gets here after being routed, so reaching the\u000aCPU this way costs a sender the same effort as reaching it by any of\u000athose. If L3 exceptions should have a queue and a bucket of their own,\u000athat is worth doing for all of them at once and not for this one.\u000a\u000aOnly an RTL930x built with the offload symbol runs this setup, and no\u000asubtarget config sets it. The RTL839x has a setup of its own and does\u000anot pass through here.\u000a\u000aAssisted-by: Claude:claude-opus-5\u000aSigned-off-by: Gennaro Cimmino <gcimmino@rayonra.net>\u000aLink: https://github.com/openwrt/openwrt/pull/25312\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-29 22:01:10 +0200",
        "id" : "d958caff0c9ffa215dceb0718caad7d4955d8954",
        "msg" : "realtek: l3: rtl930x: answer an expired packet",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/l3.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/kirkwood/patches-6.12/109-dns325-add-fan-label-and-update-partitions.patch",
          "target/linux/kirkwood/patches-6.12/108-dns325-add-led-labels-and-thermal-zones.patch",
          "target/linux/kirkwood/config-6.12",
          "target/linux/kirkwood/patches-6.12/110-pogo_e02.patch",
          "target/linux/kirkwood/patches-6.12/201-enable-sata-port-specific-led-triggers.patch",
          "target/linux/kirkwood/patches-6.12/112-sheevaplug.patch",
          "target/linux/kirkwood/patches-6.12/107-01-zyxel-nsa3x0-common-nand-partitions.patch",
          "target/linux/kirkwood/patches-6.12/116-4i-edge-200.patch",
          "target/linux/kirkwood/patches-6.12/111-l-50.patch",
          "target/linux/kirkwood/patches-6.12/102-dockstar.patch",
          "target/linux/kirkwood/patches-6.12/202-linksys-find-active-root.patch",
          "target/linux/kirkwood/patches-6.12/101-iconnect.patch",
          "target/linux/kirkwood/patches-6.12/106-goflexnet.patch",
          "target/linux/kirkwood/patches-6.12/109-pogoplug_v4.patch",
          "target/linux/kirkwood/patches-6.12/117-netgear_stora.patch",
          "target/linux/kirkwood/patches-6.12/107-03-nsa325.patch",
          "target/linux/kirkwood/patches-6.12/103-iomega-ix2-200.patch",
          "target/linux/kirkwood/patches-6.12/114-ctera-c-200-v1.patch",
          "target/linux/kirkwood/patches-6.12/203-blackarmor-nas220.patch",
          "target/linux/kirkwood/patches-6.12/118-dns-320l.patch",
          "target/linux/kirkwood/patches-6.12/100-ib62x0.patch",
          "target/linux/kirkwood/patches-6.12/115-nsa310s.patch",
          "target/linux/kirkwood/patches-6.12/113-readynas_duo_v2.patch",
          "target/linux/kirkwood/patches-6.12/105-linksys-viper-dts.patch"
        ],
        "commitId" : "5c8e736980fbc2fee00a9f13a0b94e1a29fc6189",
        "timestamp" : 1790718617000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/lynxis",
          "fullName" : "lynxis"
        },
        "authorEmail" : "lynxis@fe80.eu",
        "comment" : "kirkwood: drop kernel 6.12 support\u000a\u000aThe target has  switched to kernel 6.18 a while ago.\u000aRemove the now unused 6.12 config and patches\u000a\u000aSigned-off-by: Sander van Deijck <sander@vandeijck.com>\u000a",
        "date" : "2026-09-29 23:50:17 +0200",
        "id" : "5c8e736980fbc2fee00a9f13a0b94e1a29fc6189",
        "msg" : "kirkwood: drop kernel 6.12 support",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/116-4i-edge-200.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/105-linksys-viper-dts.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/201-enable-sata-port-specific-led-triggers.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/112-sheevaplug.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/101-iconnect.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/106-goflexnet.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/111-l-50.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/113-readynas_duo_v2.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/config-6.12"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/203-blackarmor-nas220.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/100-ib62x0.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/109-dns325-add-fan-label-and-update-partitions.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/107-03-nsa325.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/102-dockstar.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/110-pogo_e02.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/108-dns325-add-led-labels-and-thermal-zones.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/202-linksys-find-active-root.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/115-nsa310s.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/117-netgear_stora.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/103-iomega-ix2-200.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/107-01-zyxel-nsa3x0-common-nand-partitions.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/114-ctera-c-200-v1.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/109-pogoplug_v4.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/kirkwood/patches-6.12/118-dns-320l.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/generic/hack-6.18/773-bgmac-add-srab-switch.patch",
          "target/linux/generic/hack-6.12/773-bgmac-add-srab-switch.patch"
        ],
        "commitId" : "bb5ae5fd5acc10f3822017681941eed07fb214a3",
        "timestamp" : 1790752951000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "linux: delete srab patch from generic\u000a\u000aThis patch is meant for platforms without OF and only for ARM SoCs. All\u000aARM stuff has OF. Removes warnings like:\u000a\u000ab53-srab-switch b53-srab-switch: error -EINVAL: invalid resource (null)\u000ab53-srab-switch b53-srab-switch: probe with driver b53-srab-switch failed with error -22\u000a\u000aOn platforms using b53.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25420\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-30 09:22:31 +0200",
        "id" : "bb5ae5fd5acc10f3822017681941eed07fb214a3",
        "msg" : "linux: delete srab patch from generic",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "target/linux/generic/hack-6.12/773-bgmac-add-srab-switch.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/hack-6.18/773-bgmac-add-srab-switch.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/dts/rtl9303_horaco_zx-swtgw2c8f.dts"
        ],
        "commitId" : "4b12e9080a132a6c172399d015a459a901a9a4a2",
        "timestamp" : 1790753456000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: rtl930x: drop Horaco status LED heartbeat\u000a\u000aThe system LED is referenced by the boot, failsafe, running and upgrade\u000aaliases, so it should be controlled by OpenWrt userspace instead of a\u000acompeting heartbeat trigger.\u000a\u000aSigned-off-by: Christian Talavera <ctalaveraw@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25391\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-30 09:30:56 +0200",
        "id" : "4b12e9080a132a6c172399d015a459a901a9a4a2",
        "msg" : "realtek: rtl930x: drop Horaco status LED heartbeat",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/dts/rtl9303_horaco_zx-swtgw2c8f.dts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/dts/rtl9303_horaco_zx-swtgw2c8f.dts",
          "target/linux/realtek/dts/rtl9303_horaco_zx-swtgw2c8f.dtsi"
        ],
        "commitId" : "5f60b43e0281027589af3653d60d5eef91e60dfd",
        "timestamp" : 1790753456000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: rtl930x: split Horaco ZX-SWTGW2C8F DTS\u000a\u000aMove the reusable RTL9303 board description into a DTSI so closely\u000arelated devices can share it.\u000a\u000aKeep only the Horaco compatible string and model in the board DTS.\u000a\u000aSigned-off-by: Christian Talavera <ctalaveraw@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25391\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-30 09:30:56 +0200",
        "id" : "5f60b43e0281027589af3653d60d5eef91e60dfd",
        "msg" : "realtek: rtl930x: split Horaco ZX-SWTGW2C8F DTS",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/realtek/dts/rtl9303_horaco_zx-swtgw2c8f.dtsi"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/dts/rtl9303_horaco_zx-swtgw2c8f.dts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/dts/rtl9303_horaco_zx-swtgw2c8f.dtsi"
        ],
        "commitId" : "d1d90e8e2ce60719bf6d3ef61de86d66fcabf46b",
        "timestamp" : 1790753456000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: rtl930x: add 100M LED indication to Horaco ZX-SWTGW2C8F\u000a\u000aInclude 100M in the lower-speed LED scan slot.\u000a\u000aThis also makes the slot assignment reusable by the closely related\u000aGoodTop GT-SWTXG8FM.\u000a\u000aSigned-off-by: Christian Talavera <ctalaveraw@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25391\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-30 09:30:56 +0200",
        "id" : "d1d90e8e2ce60719bf6d3ef61de86d66fcabf46b",
        "msg" : "realtek: rtl930x: add 100M LED indication to Horaco ZX-SWTGW2C8F",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/dts/rtl9303_horaco_zx-swtgw2c8f.dtsi"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/image/rtl930x.mk",
          "target/linux/realtek/dts/rtl9303_goodtop_gt-swtxg8fm.dts"
        ],
        "commitId" : "c1fc123ea624dd9a5ac73d73ea341f024576d7b4",
        "timestamp" : 1790753457000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
          "fullName" : "jonas"
        },
        "authorEmail" : "jonas@jonasjelonek.de",
        "comment" : "realtek: rtl930x: add support for GoodTop GT-SWTXG8FM\u000a\u000aThe GoodTop GT-SWTXG8FM is an eight-port SFP+ managed switch based\u000aon the Realtek RTL9303.\u000a\u000aDevice specification:\u000a- SoC: Realtek RTL9303 rev B\u000a- RAM: 128 MiB\u000a- Flash: 16 MiB Winbond W25Q128 SPI NOR\u000a- Ethernet: 8x SFP+ cages\u000a- Button: reset, GPIO 5 active-low\u000a- System LED: GPIO 0\u000a- Power input: 12 V DC\u000a- Bootloader: Realtek U-Boot 2011.12\u000a- Vendor board model: RTL9303_8XGE\u000a\u000aSerial:\u000a- Stock firmware configures ttyS0 at 38400 baud.\u000a- The physical UART header location and pinout were not identified\u000a  during bring-up. Serial access is not required for normal install.\u000a\u000aFlash layout:\u000a- 0x000000-0x0e0000: loader / LOADER\u000a- 0x0e0000-0x0f0000: bdinfo / BDINFO\u000a- 0x0f0000-0x100000: sysinfo / SYSINFO\u000a- 0x100000-0x200000: vendor configuration / JFFS2 CFG\u000a- 0x200000-0x300000: vendor log / JFFS2 LOG\u000a- 0x300000-0xf00000: firmware / RUNTIME\u000a- 0xf00000-0x1000000: oeminfo / OEMINFO\u000a\u000aThe factory MAC address is read from ethaddr in BDINFO through NVMEM.\u000a\u000aThe vendor bootloader uses legacy uImage magic 0x83800000.\u000aGenerate OpenWrt images with this magic and configure the firmware\u000asplitter accordingly.\u000a\u000aA dedicated squashfs-factory.bix image is generated for installation\u000afrom the stock web interface. The regular squashfs-sysupgrade.bin image\u000ais used for subsequent OpenWrt upgrades.\u000a\u000aInstallation:\u000a1. Open Management -> Firmware -> Manual Upgrade in the stock web UI.\u000a2. Select Upgrade and HTTP.\u000a3. Upload the squashfs-factory.bix image.\u000a4. Wait for \"Upgrade Image Done\", then reboot the switch.\u000a\u000aThe stock web updater has been verified on hardware. Persistent\u000asquashfs boot, writable JFFS2 overlay, reboot persistence and normal\u000aOpenWrt sysupgrade have also been validated.\u000a\u000aAll eight SFP+ cages have been individually validated with 10G links.\u000aPort LEDs, the system LED, reset button and DSA VLAN operation have\u000abeen tested.\u000a\u000aReturn to stock was validated using the original 12 MiB RUNTIME backup\u000afrom the same physical device. Under OpenWrt, copy that image to\u000a/tmp/RUNTIME.bin and restore only the firmware partition with:\u000a\u000a  mtd -f write /tmp/RUNTIME.bin firmware\u000a  mtd verify /tmp/RUNTIME.bin firmware\u000a  sync\u000a  reboot\u000a\u000aThe loader, BDINFO, SYSINFO and OEMINFO partitions are not rewritten\u000aby this procedure and were verified unchanged after restoration.\u000a\u000aSigned-off-by: Christian Talavera <ctalaveraw@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25391\u000aSigned-off-by: Jonas Jelonek <jonas@jonasjelonek.de>\u000a",
        "date" : "2026-09-30 09:30:57 +0200",
        "id" : "c1fc123ea624dd9a5ac73d73ea341f024576d7b4",
        "msg" : "realtek: rtl930x: add support for GoodTop GT-SWTXG8FM",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/realtek/dts/rtl9303_goodtop_gt-swtxg8fm.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/image/rtl930x.mk"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/boot/arm-trusted-firmware-airoha/Makefile"
        ],
        "commitId" : "14ce3517725c971c0141e915051b806a29234cfa",
        "timestamp" : 1790754388000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/ansuelsmth",
          "fullName" : "ansuelsmth"
        },
        "authorEmail" : "ansuelsmth@gmail.com",
        "comment" : "arm-trusted-firmware-airoha: update to Git HEAD (2026-08-20)\u000a\u000ab0911074d3cf plat: update closed-source object for AN7581 and AN7583\u000a705478c3d84f plat: add DRAM calibration closed-source object for EN7523\u000a\u000aSigned-off-by: Christian Marangi <ansuelsmth@gmail.com>\u000a",
        "date" : "2026-09-30 09:46:28 +0200",
        "id" : "14ce3517725c971c0141e915051b806a29234cfa",
        "msg" : "arm-trusted-firmware-airoha: update to Git HEAD (2026-08-20)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/boot/arm-trusted-firmware-airoha/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/generic/pending-6.12/305-powerpc-build-the-vDSO-after-the-stack-protector-flags.patch",
          "target/linux/generic/pending-6.18/305-powerpc-build-the-vDSO-after-the-stack-protector-flags.patch"
        ],
        "commitId" : "edd23eb01e7fff7ebd064ee0e7df90808f5ef282",
        "timestamp" : 1790759558000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/mail",
          "fullName" : "mail"
        },
        "authorEmail" : "mail@aparcar.org",
        "comment" : "kernel: build the powerpc vDSO after the stack protector flags\u000a\u000aThe powerpc kernel of the WD My Book Live differs between builds. The\u000adifference sits in the vDSO, which the kernel embeds with its debug\u000ainformation as vdso32.so.dbg:\u000a\u000a  -GNU C11 14.4.0 ... -mstack-protector-guard=tls -mstack-protector-guard-reg=r2 -mstack-protector-guard-offset=872 -m32 -g -O2 ...\u000a  +GNU C11 14.4.0 ... -m32 -g -O2 ...\u000a\u000astack_protector_prepare appends these flags to KBUILD_CFLAGS with $(eval)\u000afrom its recipe, while vdso_prepare builds the vDSO from a sibling\u000aprerequisite of prepare. Nothing orders the two, so whether the flags\u000aend up in DW_AT_producer depends on the order in which make starts them.\u000a\u000aAdd a pending patch that makes vdso_prepare depend on\u000astack_protector_prepare.\u000a\u000aLink: https://github.com/openwrt/openwrt/pull/25429\u000aSigned-off-by: Paul Spooren <mail@aparcar.org>\u000a",
        "date" : "2026-09-30 11:12:38 +0200",
        "id" : "edd23eb01e7fff7ebd064ee0e7df90808f5ef282",
        "msg" : "kernel: build the powerpc vDSO after the stack protector flags",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/generic/pending-6.12/305-powerpc-build-the-vDSO-after-the-stack-protector-flags.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/generic/pending-6.18/305-powerpc-build-the-vDSO-after-the-stack-protector-flags.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/ethernet/realtek/rtl838x_eth.c"
        ],
        "commitId" : "7c247deba45ab2c37d6454c75d337afae1e1bded",
        "timestamp" : 1790778722000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: eth: rtl93xx: treat other RMA frames as trapped\u000a\u000aThe RTL93xx CPU tag reports a frame trapped by the reserved multicast\u000aaddress (RMA) rules with reason 28, NIC_RX_REASON_RMA in the GPL SDK's\u000areasonTbl (nic_rtl9300.c, nic_rtl9310.c), whenever none of the reasons\u000afor a specific kind of RMA frame (PTP, BPDU, LACP, LLDP, EAPOL, ...)\u000aapplies. rteth_93xx_decode_tag() counts only 19 to 27 as not forwarded\u000aby hardware, so these frames are reported as forwarded.\u000a\u000aThey do reach the CPU: rteth_930x_set_rx_mode() sets every RMA action\u000ain RMA_CTRL_0..2 to 3 while the conduit is promiscuous, and on RTL930x\u000a3 traps the frame to the (master) CPU rather than flooding it.\u000a\u000aCount 28 as trapped too. On its own this changes nothing yet, since\u000adsa_switch_rcv() marks every frame from the metadata path as forwarded\u000awhatever the driver decoded. It is what a receive path that honours the\u000adecode needs, to forward a trapped frame for 01:80:C2:00:00:2x, which a\u000abridge is meant to forward, in software instead of dropping it.\u000a\u000aTested on an RTL9303 (Hasivo S1100W-8XGT-SE) with a throwaway print of\u000athe CPU tag: five frames to 01:80:C2:00:00:0B and five to\u000a01:80:C2:00:00:21 from a host all arrive with reason 28, reported as\u000anot forwarded with this change. RTL931x has the same reason in the SDK\u000aand was not tested.\u000a\u000aAssisted-by: Claude:claude-opus-5-5\u000aSigned-off-by: Gennaro Cimmino <gcimmino@rayonra.net>\u000aLink: https://github.com/openwrt/openwrt/pull/25499\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-30 16:32:02 +0200",
        "id" : "7c247deba45ab2c37d6454c75d337afae1e1bded",
        "msg" : "realtek: eth: rtl93xx: treat other RMA frames as trapped",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/ethernet/realtek/rtl838x_eth.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/ethernet/realtek/rtl838x_eth.c"
        ],
        "commitId" : "c759267c92b0697a6fd6f369164a5ed4c1a6a03c",
        "timestamp" : 1790778722000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: eth: rtl93xx: say that the RMA setup traps\u000a\u000arteth_930x_set_rx_mode() and rteth_931x_set_rx_mode() say they flood\u000aevery class of RMA address while the conduit is promiscuous, like the\u000aRTL838x version. All three write 3 into every 2-bit action field of\u000aRMA_CTRL_0..2. In the GPL SDK that is flood on RTL838x\u000a(dal_maple_trap_rmaGroupAction_set()), but trap to the master CPU on\u000aRTL930x and RTL931x (dal_longan_trap_rmaAction_set(),\u000adal_mango_trap_rmaAction_set()), which have no flood action for these\u000aaddresses at all. On an RTL9303, frames to 01:80:C2:00:00:0B and\u000a01:80:C2:00:00:21 reach the CPU with the trapped-RMA reason, 28.\u000a\u000aTrapping is also what fits here: whether such a frame goes any further\u000ais for the bridge to decide. Keep the values and correct the comments.\u000a\u000aNo functional change.\u000a\u000aAssisted-by: Claude:claude-opus-5-5\u000aSigned-off-by: Gennaro Cimmino <gcimmino@rayonra.net>\u000aLink: https://github.com/openwrt/openwrt/pull/25499\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-30 16:32:02 +0200",
        "id" : "c759267c92b0697a6fd6f369164a5ed4c1a6a03c",
        "msg" : "realtek: eth: rtl93xx: say that the RMA setup traps",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/ethernet/realtek/rtl838x_eth.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/bcm27xx/patches-6.18/0393-drivers-dw-axi-dmac-make-more-sensible-choices-about.patch",
          "target/linux/bcm27xx/patches-6.18/0374-dw-axi-dmac-platform-Avoid-trampling-with-zero-lengt.patch",
          "target/linux/ath79/patches-6.18/341-wifi-ath9k-always-register-system-gpios.patch",
          "target/linux/bcm27xx/patches-6.18/0791-net-macb-drop-destructive-ISR-read-use-IMR-barrier-i.patch",
          "target/linux/bcm27xx/patches-6.18/0855-Revert-net-macb-re-check-ISR-after-IER-re-enable-in-.patch",
          "target/linux/sunxi/patches-6.18/802-f1c100s-watchdog-compat.patch",
          "target/linux/starfive/patches-6.18/1014-dmaengine-dw-axi-dmac-Add-StarFive-JH7100-support.patch",
          "target/linux/airoha/patches-6.18/220-08-usb-host-add-ARCH_AIROHA-in-XHCI-MTK-dependency.patch",
          "target/linux/generic/pending-6.18/734-net-ethernet-mediatek-enlarge-DMA-reserve-buffer.patch",
          "target/linux/ipq40xx/patches-6.18/701-net-dsa-add-out-of-band-tagging-protocol.patch",
          "target/linux/bcm27xx/patches-6.18/0366-mmc-restrict-posted-write-counts-for-SD-cards-in-CQ-.patch",
          "target/linux/starfive/patches-6.18/0027-RISC-V-Create-unique-identification-for-SoC-PMU.patch",
          "target/linux/bcm27xx/patches-6.18/0542-usb-xhci-default-to-Intel-scheme-for-calculating-U1-.patch",
          "target/linux/generic/backport-6.18/895-v7.2-Bluetooth-btusb-Add-Mercusys-MA530-for-Realtek-RTL87.patch",
          "target/linux/bcm27xx/patches-6.18/0345-i2c-designware-Support-non-standard-bus-speeds.patch",
          "target/linux/bcm27xx/patches-6.18/0283-xhci-quirks-add-link-TRB-quirk-for-VL805.patch",
          "target/linux/bcm27xx/patches-6.18/0424-drivers-usb-xhci-set-HID-bit-in-streaming-endpoint-c.patch",
          "target/linux/generic/pending-6.18/732-04-net-ethernet-mtk_eth_soc-shrink-struct-mtk_tx_buf.patch",
          "target/linux/airoha/patches-6.18/097-v6.19-net-airoha-Add-get_link-ethtool-callback.patch",
          "target/linux/bcm27xx/patches-6.18/0959-net-macb-Add-PHY-post-reset-settle-delay.patch",
          "target/linux/bcm27xx/patches-6.18/0344-i2c-designware-Use-SCL-rise-and-fall-times-in-DT.patch",
          "target/linux/generic/pending-6.18/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch",
          "target/linux/airoha/patches-6.18/125-v7.1-net-airoha-Rely-__field_prep-for-non-constant-masks.patch",
          "target/linux/generic/pending-6.18/732-03-net-ethernet-mtk_eth_soc-optimize-dma-ring-address-i.patch",
          "target/linux/bcm27xx/patches-6.18/0705-drm-panel-add-TDO-DSI-V1-panel-driver.patch",
          "target/linux/generic/pending-6.18/738-01-net-ethernet-mtk_eth_soc-reduce-rx-ring-size-for-older.patch",
          "target/linux/airoha/patches-6.18/096-v6.19-net-airoha-Add-missing-stats-to-ethtool_eth_mac_stat.patch",
          "target/linux/ath79/patches-6.18/341-wifi-ath9k-obtain-system-gpios.patch",
          "target/linux/generic/backport-6.18/711-v7.2-net-phy-sfp-detect-presence-via-I2C-when-no-MOD_DEF0-GPIO.patch",
          "target/linux/airoha/patches-6.18/127-v7.1-net-airoha-Move-GDM-forward-port-configuration-in-nd.patch",
          "target/linux/mediatek/patches-6.18/751-net-ethernet-mtk_eth_soc-revise-hardware-configuration-for-mt7987.patch",
          "target/linux/econet/patches-6.18/036-v6.19-PCI-mediatek-Add-support-for-Airoha-AN7583-SoC.patch",
          "target/linux/bcm27xx/patches-6.18/0517-spi-dw-Wait-for-idle-after-TX.patch",
          "target/linux/airoha/patches-6.18/886-uart-add-en7523-support.patch",
          "target/linux/generic/pending-6.18/737-09-net-ethernet-mtk_eth_soc-improve-probe-deferal.patch",
          "target/linux/bcm27xx/patches-6.18/0285-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch",
          "target/linux/generic/hack-6.18/730-net-ethernet-mtk_eth_soc-add-hw-dump-for-forced-rese.patch",
          "target/linux/bcm53xx/patches-6.18/180-usb-xhci-add-support-for-performing-fake-doorbell.patch",
          "target/linux/generic/hack-6.18/204-module_strip.patch",
          "target/linux/bcm27xx/patches-6.18/0174-staging-fbtft-Add-support-for-display-variants.patch",
          "target/linux/starfive/patches-6.18/0029-dmaengine-dw-axi-dmac-Drop-unused-print-message.patch",
          "target/linux/bcm27xx/patches-6.18/0850-dmaengine-dw-axi-dmac-Wait-for-runtime-resume.patch",
          "target/linux/econet/patches-6.18/886-uart-add-en7523-support.patch",
          "target/linux/bcm27xx/patches-6.18/0212-drm-panel-Add-panel-driver-for-TDO-Y17B-based-panels.patch",
          "target/linux/bcm27xx/patches-6.18/0112-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch",
          "target/linux/generic/pending-6.18/732-01-net-ethernet-mtk_eth_soc-work-around-issue-with-send.patch",
          "target/linux/airoha/patches-6.18/132-v7.1-net-airoha-Reset-PPE-default-cput-port-in-airoha_ppe.patch",
          "target/linux/bcm27xx/patches-6.18/0718-net-macb-re-check-ISR-after-IER-re-enable-in-macb_tx.patch",
          "target/linux/generic/hack-6.18/902-debloat_proc.patch",
          "target/linux/bcm27xx/patches-6.18/0421-dmaengine-dw-axi-dmac-Allow-client-chosen-width.patch",
          "target/linux/airoha/patches-6.18/134-v7.1-net-airoha-Delay-offloading-until-all-net_devices-ar.patch",
          "target/linux/generic/hack-6.18/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch",
          "target/linux/bcm27xx/patches-6.18/0664-net-cadence-macb-enable-EEE-for-Raspberry-Pi-RP1.patch",
          "target/linux/generic/pending-6.18/655-increase_skb_pad.patch",
          "target/linux/generic/pending-6.18/732-05-net-ethernet-mtk_eth_soc-add-support-for-sending-fra.patch",
          "target/linux/airoha/patches-6.18/147-v7.1-net-airoha-Fix-PPE-cpu-port-configuration-for-GDM2-l.patch",
          "target/linux/airoha/patches-6.18/142-03-v7.1-net-airoha-Rely-on-net_device-pointer-in-ETS-callbac.patch",
          "target/linux/generic/hack-6.18/739-net-ethernet-mtk_eth_soc-fix-offload-with-incompatible-.patch",
          "target/linux/generic/pending-6.18/738-02-net-ethernet-mtk_eth_soc-do-not-enable-page-pool-sta.patch",
          "target/linux/bcm27xx/patches-6.18/0422-spi-dw-Let-the-DMAC-set-the-transfer-widths.patch",
          "target/linux/bcm27xx/patches-6.18/0332-xhci-Use-more-event-ring-segment-table-entries.patch",
          "target/linux/apm821xx/patches-6.18/700-net-ibm-emac-Clear-MAL-descriptors-without-memset.patch",
          "target/linux/generic/pending-6.18/750-net-sfp-add-quirk-for-QINIYEK-BJ-SFP-10G-T-copper-SF.patch",
          "target/linux/generic/backport-6.18/710-01-v7.1-net-sfp-add-quirk-for-ZOERAX-SFP-2.5G-T.patch",
          "target/linux/generic/pending-6.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch",
          "target/linux/airoha/patches-6.18/126-v7.1-net-airoha-Make-flow-control-source-port-mapping-dep.patch",
          "target/linux/realtek/patches-6.18/706-01-v7.2-net-sfp-apply-I2C-adapter-quirks-to-limit-block-size.patch",
          "target/linux/generic/hack-6.18/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch",
          "target/linux/bcm27xx/patches-6.18/0373-i2c-designware-Make-the-SDA-hold-time-half-LCNT.patch",
          "target/linux/bcm27xx/patches-6.18/0161-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch",
          "target/linux/bcm27xx/patches-6.18/0274-serial-8250-Add-NOMSI-bug-for-bcm2835aux.patch",
          "target/linux/bcm27xx/patches-6.18/0852-Revert-net-macb-gate-TX-stall-watchdog-on-netif_carr.patch",
          "target/linux/starfive/patches-6.18/0009-uart-8250-Add-dw-auto-flow-ctrl-support.patch",
          "target/linux/generic/pending-6.18/812-PCI-sysfs-enforce-single-creation-of-sysfs-entry-for.patch",
          "target/linux/airoha/patches-6.18/120-v7.0-net-airoha-implement-get_link_ksettings.patch",
          "target/linux/generic/hack-6.18/755-net-phy-motorcomm-yt8821-bus-collision-workaround.patch",
          "target/linux/airoha/patches-6.18/159-v7.2-net-airoha-Introduce-airoha_fe_get-airoha_qdma_get-r.patch",
          "target/linux/bcm27xx/patches-6.18/0213-drm-panel-Add-panel-driver-for-Waveshare-DSI-touchsc.patch",
          "target/linux/generic/pending-6.18/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch",
          "target/linux/bcm27xx/patches-6.18/0301-i2c-designware-Add-SMBUS-quick-command-support.patch",
          "target/linux/airoha/patches-6.18/160-v7.2-net-airoha-Reserve-RX-headroom-to-avoid-skb-realloca.patch",
          "target/linux/bcm27xx/patches-6.18/0663-net-cadence-macb-add-ethtool-EEE-support.patch",
          "target/linux/airoha/patches-6.18/099-09-v6.19-net-airoha-Select-default-ppe-cpu-port-in-airoha_dev.patch",
          "target/linux/generic/pending-6.18/834-ledtrig-libata.patch",
          "target/linux/bcm27xx/patches-6.18/0790-net-macb-gate-PCIe-posted-write-flush-behind-MACB_CA.patch",
          "target/linux/ramips/patches-6.18/102-01-pwm-mediatek-set-mt7628-pwm45_fixup-flag-to-false.patch",
          "target/linux/bcm27xx/patches-6.18/0113-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch",
          "target/linux/mediatek/patches-6.18/432-drivers-spi-Add-support-for-dynamic-calibration.patch",
          "target/linux/airoha/patches-6.18/144-v7.1-net-airoha-Set-REG_RX_CPU_IDX-once-in-airoha_qdma_fi.patch",
          "target/linux/bcm27xx/patches-6.18/0386-dmaengine-dw-axi-dmac-Honour-snps-block-size.patch",
          "target/linux/airoha/patches-6.18/143-v7.1-net-airoha-Fix-typo-in-airoha_set_gdm2_loopback-rout.patch",
          "target/linux/bcm27xx/patches-6.18/0580-dmaengine-dw-axi-dmac-Add-DMA-channel-selection.patch",
          "target/linux/airoha/patches-6.18/155-v7.2-net-airoha-Rename-get_src_port_id-callback-in-get_sp.patch",
          "target/linux/starfive/patches-6.18/1013-dmaengine-dw-axi-dmac-Handle-xfer-start-while-non-id.patch",
          "target/linux/bcm27xx/patches-6.18/0551-usb-xhci-set-Input-Slot-Context-bit-in-xhci_fixup_en.patch",
          "target/linux/mediatek/patches-6.18/750-net-ethernet-mtk_eth_soc-add-mt7987-support.patch",
          "target/linux/bcm27xx/patches-6.18/0851-mmc-don-t-reference-requests-after-issuing-them.patch",
          "target/linux/qualcommax/patches-6.18/0950-net-dsa-add-out-of-band-tagging-protocol.patch",
          "target/linux/bcm27xx/patches-6.18/0302-dmaengine-dw-axi-dmac-Fixes-for-RP1.patch",
          "target/linux/bcm27xx/patches-6.18/0853-Revert-net-macb-drop-destructive-ISR-read-use-IMR-ba.patch",
          "target/linux/generic/pending-6.18/737-10-net-ethernet-mtk_eth_soc-add-paths-and-SerDes-modes-.patch",
          "target/linux/generic/backport-6.18/785-v7.0-09-net-pcs-pcs-mtk-lynxi-pass-SGMIISYS-OF-node-to-PCS.patch",
          "target/linux/bcm27xx/patches-6.18/0372-i2c-designware-Add-support-for-bus-clear-feature.patch",
          "target/linux/bcm27xx/patches-6.18/0792-net-macb-gate-TX-stall-watchdog-on-netif_carrier_ok-.patch",
          "target/linux/bcm27xx/patches-6.18/0854-Revert-net-macb-add-TX-stall-watchdog-as-defence-in-.patch",
          "target/linux/econet/patches-6.18/781-v7.3-net-dsa-mt7530-add-en7528-support.patch",
          "target/linux/bcm27xx/patches-6.18/0069-ASoC-Add-support-for-all-the-downstream-rpi-sound-ca.patch",
          "target/linux/econet/patches-6.18/034-v6.19-PCI-mediatek-Convert-bool-to-single-quirks-entry-and.patch",
          "target/linux/apm821xx/patches-6.18/710-net-ibm_emac-Use-napi_gro_receive-for-Rx-packets.patch",
          "target/linux/generic/pending-6.18/630-packet_socket_type.patch",
          "target/linux/bcm27xx/patches-6.18/0736-drm-panel-simple-Fix-handling-of-panel-dsi.patch",
          "target/linux/generic/backport-6.18/700-01-v7.0-net-sched-Export-mq-functions-for-reuse.patch",
          "target/linux/generic/backport-6.18/502-v7.3-smb-server-fix-signing-multi-iov-response.patch",
          "target/linux/generic/pending-6.18/733-01-net-ethernet-mtk_eth_soc-use-napi_build_skb.patch",
          "target/linux/econet/patches-6.18/310-usb-enable-econet-usb.patch",
          "target/linux/bcm27xx/patches-6.18/0639-gpu-drm-panel-Add-panel-driver-for-Ilitek-79600A-bas.patch",
          "target/linux/airoha/patches-6.18/142-02-v7.1-net-airoha-Rely-on-net_device-pointer-in-HTB-callbac.patch",
          "target/linux/econet/patches-6.18/040-v7.2-PCI-mediatek-Protect-root-bus-removal-with-rescan-lo.patch",
          "target/linux/generic/kernel-6.18",
          "target/linux/generic/backport-6.18/706-v7.2-bus-mhi-host-pci_generic-round-up-nr_irqs-to-a-power-of-two.patch",
          "target/linux/generic/hack-6.18/766-net-phy-mediatek-ge-add-LED-configuration-interface.patch",
          "target/linux/generic/backport-6.18/946-v7.3-net-dsa-mt7530-populate-lpi_interfaces-to-fix-EEE-support.patch",
          "target/linux/generic/pending-6.18/150-bridge_allow_receiption_on_disabled_port.patch",
          "target/linux/airoha/patches-6.18/142-01-v7.1-net-airoha-Rely-on-net_device-pointer-in-airoha_dev_.patch",
          "target/linux/bcm27xx/patches-6.18/0208-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch",
          "target/linux/bcm27xx/patches-6.18/0940-dma-dw-axi-dmac-fix-cyclic-DMA.patch",
          "target/linux/mediatek/patches-6.18/410-bt-mtk-serial-fix.patch",
          "target/linux/bcm27xx/patches-6.18/0719-net-macb-add-TX-stall-watchdog-as-defence-in-depth-s.patch",
          "target/linux/starfive/patches-6.18/0005-i2c-designware-Delete-SMBus-functionalities.patch",
          "target/linux/generic/pending-6.18/920-mangle_bootargs.patch",
          "target/linux/bcm27xx/patches-6.18/0541-PCI-quirks-work-around-VL805-firmware-ASPM-meddling.patch",
          "target/linux/bcm27xx/patches-6.18/0581-dmaengine-dw-axi-dmac-report-per-channel-max_burst-v.patch",
          "target/linux/generic/backport-6.18/852-v7.1-rtc-cmos-use-platform_get_irq_optional.patch",
          "target/linux/generic/pending-6.18/795-05-net-ethernet-mtk_eth_soc-add-per-conduit-DSA-user-po.patch",
          "target/linux/bcm27xx/patches-6.18/0115-usb-xhci-drop-and-add-the-endpoint-context-in-xhci_f.patch",
          "target/linux/bcm27xx/patches-6.18/0923-dmaengine-dw-axi-dmac-Simplify-segmentation-calc-754.patch",
          "target/linux/bcm27xx/patches-6.18/0717-net-macb-flush-PCIe-posted-write-after-TSTART-doorbe.patch",
          "target/linux/generic/hack-6.18/890-serial-8250-add-UPIO_AU-case-to-set_io_from_upio.patch",
          "target/linux/bcm27xx/patches-6.18/0579-dmaengine-dw-axi-dmac-Per-channel-burst-limits.patch",
          "target/linux/generic/backport-6.18/947-v7.3-net-ethernet-mtk_eth_soc-populate-lpi_interfaces-to-fix-EEE-support.patch",
          "target/linux/bcm27xx/patches-6.18/0536-drm-panel-Add-panel-driver-for-Ilitek-ILI9806E-panel.patch",
          "target/linux/starfive/patches-6.18/1011-net-stmmac-use-GFP_DMA32.patch",
          "target/linux/generic/pending-6.18/795-04-net-ethernet-mtk_eth_soc-per-SoC-QDMA-TX-queue-count.patch",
          "target/linux/realtek/patches-6.18/706-02-v7.2-net-sfp-extend-SMBus-support.patch",
          "target/linux/realtek/patches-6.18/714-net-phy-sfp-add-support-for-SMBus.patch",
          "target/linux/ath79/patches-6.18/900-unaligned_access_hacks.patch",
          "target/linux/generic/pending-6.18/751-net-sfp-add-quirk-for-TP-LINK-SM410U.patch",
          "target/linux/bcm27xx/patches-6.18/0293-net-macb-Also-set-DMA-coherent-mask.patch",
          "target/linux/generic/hack-6.18/721-net-add-packet-mangeling.patch",
          "target/linux/realtek/patches-6.18/705-v7.1-net-sfp-initialize-i2c_block_size-at-adapter-configu.patch",
          "target/linux/generic/pending-6.18/510-block-add-uImage.FIT-subimage-block-driver.patch",
          "target/linux/generic/backport-6.18/751-v7.2-net-dsa-qca8k-add-support-for-force-mode-for-fixed-l.patch",
          "target/linux/generic/hack-6.18/661-kernel-ct-size-the-hashtable-more-adequately.patch",
          "target/linux/generic/backport-6.18/941-v7.2-net-dsa-realtek-rtl8365mb-add-support-for-rtl8367sb.patch",
          "target/linux/airoha/patches-6.18/129-v7.1-net-airoha-select-QDMA-block-according-LAN-WAN-confi.patch",
          "target/linux/generic/pending-6.18/795-06-net-ethernet-mtk_eth_soc-use-DSA-queue-map-in-TX-pat.patch",
          "target/linux/bcm27xx/patches-6.18/0391-spi-dw-Save-bandwidth-with-the-TMOD_RO-feature.patch",
          "target/linux/bcm27xx/patches-6.18/0284-usb-xhci-add-VLI_SS_BULK_OUT_BUG-quirk.patch",
          "target/linux/bcm27xx/patches-6.18/0538-dmaengine-dw-axi-dmac-Fix-alignment-checks.patch",
          "target/linux/ath79/patches-6.18/340-register_gpio_driver_earlier.patch",
          "target/linux/mvebu/patches-6.18/300-mvebu-Mangle-bootloader-s-kernel-arguments.patch",
          "target/linux/generic/pending-6.18/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch",
          "target/linux/bcm27xx/patches-6.18/0662-net-cadence-macb-implement-EEE-TX-LPI-support.patch"
        ],
        "commitId" : "411a8112dd1211b47469fd99dc9c0d25560f5b1c",
        "timestamp" : 1790808594000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/hauke",
          "fullName" : "hauke"
        },
        "authorEmail" : "hauke@hauke-m.de",
        "comment" : "kernel: bump 6.18 to 6.18.53\u000a\u000aChangelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.53\u000a\u000aRemoved upstreamed:\u000a  target/linux/airoha/patches-6.18/160-v7.2-net-airoha-Reserve-RX-headroom-to-avoid-skb-realloca.patch [1]\u000a  target/linux/airoha/patches-6.18/220-08-usb-host-add-ARCH_AIROHA-in-XHCI-MTK-dependency.patch [2]\u000a  target/linux/ath79/patches-6.18/341-wifi-ath9k-obtain-system-gpios.patch [3]\u000a  target/linux/bcm27xx/patches-6.18/0850-dmaengine-dw-axi-dmac-Wait-for-runtime-resume.patch [4]\u000a  target/linux/econet/patches-6.18/040-v7.2-PCI-mediatek-Protect-root-bus-removal-with-rescan-lo.patch [5]\u000a  target/linux/econet/patches-6.18/781-v7.3-net-dsa-mt7530-add-en7528-support.patch [6]\u000a  target/linux/generic/backport-6.18/706-v7.2-bus-mhi-host-pci_generic-round-up-nr_irqs-to-a-power-of-two.patch [7]\u000a  target/linux/generic/backport-6.18/751-v7.2-net-dsa-qca8k-add-support-for-force-mode-for-fixed-l.patch [8]\u000a  target/linux/generic/backport-6.18/852-v7.1-rtc-cmos-use-platform_get_irq_optional.patch [9]\u000a  target/linux/generic/backport-6.18/941-v7.2-net-dsa-realtek-rtl8365mb-add-support-for-rtl8367sb.patch [10]\u000a  target/linux/generic/backport-6.18/946-v7.3-net-dsa-mt7530-populate-lpi_interfaces-to-fix-EEE-support.patch [11]\u000a  target/linux/generic/backport-6.18/947-v7.3-net-ethernet-mtk_eth_soc-populate-lpi_interfaces-to-fix-EEE-support.patch [12]\u000a  target/linux/ramips/patches-6.18/102-01-pwm-mediatek-set-mt7628-pwm45_fixup-flag-to-false.patch [13]\u000a  target/linux/generic/hack-6.18/890-serial-8250-add-UPIO_AU-case-to-set_io_from_upio.patch [14]\u000a  target/linux/generic/backport-6.18/895-v7.2-Bluetooth-btusb-Add-Mercusys-MA530-for-Realtek-RTL87.patch [15]\u000a\u000aManually rebased:\u000a  target/linux/generic/pending-6.18/737-10-net-ethernet-mtk_eth_soc-add-paths-and-SerDes-modes-.patch\u000a  target/linux/ath79/patches-6.18/900-unaligned_access_hacks.patch\u000a  target/linux/bcm27xx/patches-6.18/0372-i2c-designware-Add-support-for-bus-clear-feature.patch\u000a  target/linux/econet/patches-6.18/310-usb-enable-econet-usb.patch\u000a\u000aAdded:\u000a  target/linux/ath79/patches-6.18/341-wifi-ath9k-always-register-system-gpios.patch\u000a\u000aAll other patches automatically rebased via update_kernel.sh\u000a\u000a1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=20f46d0077f7a6d2f8078d0ed6a4c5a8062bea01\u000a2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=a5ff304195ca4c91425425136435fd2c3bde53ff\u000a3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=70d472076ce472b4ea605f06f14893eb17894720\u000a4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=626e080d297db7996d6995620bb4eeebd928067e\u000a5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=a568939487dcbc1a3e341208585e224be897e25e\u000a6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=fe997254b17dcaa19b7f559bc66730bc8cf1ad6f\u000a7. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=05b9953e40d53acac86144a92724d4fab9ac5ac9\u000a8. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=a726cc53424a6fdbd4e45e53b8e1d60a6ae75411\u000a9. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=9811e2c321f779902a79bb0d9035a8848d8f0d39\u000a10. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=f3e0f9c64a8557370437b961bb7e0425d87875db\u000a11. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=3c367198e2e2825aae445497b3f7195329009aa1\u000a12. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=9edd644864787a8c8ed24f6cdc20a652b4408726\u000a13. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=b3674e8c01b36825879abff2f82697827b007a70\u000a14. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=9f67997353caa29c6a080789a1fb6e01fb50c118\u000a15. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.53&id=0f7f58ea629699c0fcd68fd01e41c2f6ac6c63d1\u000a\u000aBuild system: x86/64\u000aBuild-tested: mediatek/filogic\u000aRun-tested: mediatek/filogic\u000a\u000aSigned-off-by: Edoardo Pinci <epinci@outlook.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25331\u000aSigned-off-by: Hauke Mehrtens <hauke@hauke-m.de>\u000a",
        "date" : "2026-10-01 00:49:54 +0200",
        "id" : "411a8112dd1211b47469fd99dc9c0d25560f5b1c",
        "msg" : "kernel: bump 6.18 to 6.18.53",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "target/linux/airoha/patches-6.18/160-v7.2-net-airoha-Reserve-RX-headroom-to-avoid-skb-realloca.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/patches-6.18/705-v7.1-net-sfp-initialize-i2c_block_size-at-adapter-configu.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0344-i2c-designware-Use-SCL-rise-and-fall-times-in-DT.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0542-usb-xhci-default-to-Intel-scheme-for-calculating-U1-.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0940-dma-dw-axi-dmac-fix-cyclic-DMA.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/backport-6.18/895-v7.2-Bluetooth-btusb-Add-Mercusys-MA530-for-Realtek-RTL87.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/732-01-net-ethernet-mtk_eth_soc-work-around-issue-with-send.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/781-v7.3-net-dsa-mt7530-add-en7528-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/hack-6.18/730-net-ethernet-mtk_eth_soc-add-hw-dump-for-forced-rese.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/751-net-sfp-add-quirk-for-TP-LINK-SM410U.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0212-drm-panel-Add-panel-driver-for-TDO-Y17B-based-panels.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/econet/patches-6.18/040-v7.2-PCI-mediatek-Protect-root-bus-removal-with-rescan-lo.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0293-net-macb-Also-set-DMA-coherent-mask.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/310-usb-enable-econet-usb.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/510-block-add-uImage.FIT-subimage-block-driver.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0302-dmaengine-dw-axi-dmac-Fixes-for-RP1.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm53xx/patches-6.18/180-usb-xhci-add-support-for-performing-fake-doorbell.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0662-net-cadence-macb-implement-EEE-TX-LPI-support.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/hack-6.18/890-serial-8250-add-UPIO_AU-case-to-set_io_from_upio.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mvebu/patches-6.18/300-mvebu-Mangle-bootloader-s-kernel-arguments.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0161-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0551-usb-xhci-set-Input-Slot-Context-bit-in-xhci_fixup_en.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/126-v7.1-net-airoha-Make-flow-control-source-port-mapping-dep.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/142-01-v7.1-net-airoha-Rely-on-net_device-pointer-in-airoha_dev_.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/886-uart-add-en7523-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/630-packet_socket_type.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/144-v7.1-net-airoha-Set-REG_RX_CPU_IDX-once-in-airoha_qdma_fi.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0374-dw-axi-dmac-platform-Avoid-trampling-with-zero-lengt.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/096-v6.19-net-airoha-Add-missing-stats-to-ethtool_eth_mac_stat.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/patches-6.18/714-net-phy-sfp-add-support-for-SMBus.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0283-xhci-quirks-add-link-TRB-quirk-for-VL805.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0853-Revert-net-macb-drop-destructive-ISR-read-use-IMR-ba.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/655-increase_skb_pad.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/apm821xx/patches-6.18/700-net-ibm-emac-Clear-MAL-descriptors-without-memset.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0718-net-macb-re-check-ISR-after-IER-re-enable-in-macb_tx.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/147-v7.1-net-airoha-Fix-PPE-cpu-port-configuration-for-GDM2-l.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0663-net-cadence-macb-add-ethtool-EEE-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/737-09-net-ethernet-mtk_eth_soc-improve-probe-deferal.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0391-spi-dw-Save-bandwidth-with-the-TMOD_RO-feature.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/795-05-net-ethernet-mtk_eth_soc-add-per-conduit-DSA-user-po.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0791-net-macb-drop-destructive-ISR-read-use-IMR-barrier-i.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/143-v7.1-net-airoha-Fix-typo-in-airoha_set_gdm2_loopback-rout.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ath79/patches-6.18/900-unaligned_access_hacks.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0851-mmc-don-t-reference-requests-after-issuing-them.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0854-Revert-net-macb-add-TX-stall-watchdog-as-defence-in-.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/patches-6.18/706-02-v7.2-net-sfp-extend-SMBus-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/732-05-net-ethernet-mtk_eth_soc-add-support-for-sending-fra.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/patches-6.18/410-bt-mtk-serial-fix.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/099-09-v6.19-net-airoha-Select-default-ppe-cpu-port-in-airoha_dev.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/backport-6.18/785-v7.0-09-net-pcs-pcs-mtk-lynxi-pass-SGMIISYS-OF-node-to-PCS.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/sunxi/patches-6.18/802-f1c100s-watchdog-compat.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/starfive/patches-6.18/1011-net-stmmac-use-GFP_DMA32.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/patches-6.18/751-net-ethernet-mtk_eth_soc-revise-hardware-configuration-for-mt7987.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0719-net-macb-add-TX-stall-watchdog-as-defence-in-depth-s.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0208-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/142-02-v7.1-net-airoha-Rely-on-net_device-pointer-in-HTB-callbac.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0069-ASoC-Add-support-for-all-the-downstream-rpi-sound-ca.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0422-spi-dw-Let-the-DMAC-set-the-transfer-widths.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/backport-6.18/711-v7.2-net-phy-sfp-detect-presence-via-I2C-when-no-MOD_DEF0-GPIO.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/134-v7.1-net-airoha-Delay-offloading-until-all-net_devices-ar.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/hack-6.18/721-net-add-packet-mangeling.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0581-dmaengine-dw-axi-dmac-report-per-channel-max_burst-v.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0639-gpu-drm-panel-Add-panel-driver-for-Ilitek-79600A-bas.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0579-dmaengine-dw-axi-dmac-Per-channel-burst-limits.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/backport-6.18/751-v7.2-net-dsa-qca8k-add-support-for-force-mode-for-fixed-l.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/734-net-ethernet-mediatek-enlarge-DMA-reserve-buffer.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq40xx/patches-6.18/701-net-dsa-add-out-of-band-tagging-protocol.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/patches-6.18/706-01-v7.2-net-sfp-apply-I2C-adapter-quirks-to-limit-block-size.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0372-i2c-designware-Add-support-for-bus-clear-feature.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0424-drivers-usb-xhci-set-HID-bit-in-streaming-endpoint-c.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/034-v6.19-PCI-mediatek-Convert-bool-to-single-quirks-entry-and.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/hack-6.18/661-kernel-ct-size-the-hashtable-more-adequately.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/hack-6.18/204-module_strip.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/834-ledtrig-libata.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0705-drm-panel-add-TDO-DSI-V1-panel-driver.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0213-drm-panel-Add-panel-driver-for-Waveshare-DSI-touchsc.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/hack-6.18/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/125-v7.1-net-airoha-Rely-__field_prep-for-non-constant-masks.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/airoha/patches-6.18/220-08-usb-host-add-ARCH_AIROHA-in-XHCI-MTK-dependency.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0393-drivers-dw-axi-dmac-make-more-sensible-choices-about.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0274-serial-8250-Add-NOMSI-bug-for-bcm2835aux.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/150-bridge_allow_receiption_on_disabled_port.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0113-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0386-dmaengine-dw-axi-dmac-Honour-snps-block-size.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0112-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0373-i2c-designware-Make-the-SDA-hold-time-half-LCNT.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/backport-6.18/706-v7.2-bus-mhi-host-pci_generic-round-up-nr_irqs-to-a-power-of-two.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/hack-6.18/766-net-phy-mediatek-ge-add-LED-configuration-interface.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0345-i2c-designware-Support-non-standard-bus-speeds.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/097-v6.19-net-airoha-Add-get_link-ethtool-callback.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/127-v7.1-net-airoha-Move-GDM-forward-port-configuration-in-nd.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/732-04-net-ethernet-mtk_eth_soc-shrink-struct-mtk_tx_buf.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/129-v7.1-net-airoha-select-QDMA-block-according-LAN-WAN-confi.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/732-03-net-ethernet-mtk_eth_soc-optimize-dma-ring-address-i.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/backport-6.18/946-v7.3-net-dsa-mt7530-populate-lpi_interfaces-to-fix-EEE-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/750-net-sfp-add-quirk-for-QINIYEK-BJ-SFP-10G-T-copper-SF.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/hack-6.18/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/patches-6.18/750-net-ethernet-mtk_eth_soc-add-mt7987-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0923-dmaengine-dw-axi-dmac-Simplify-segmentation-calc-754.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/132-v7.1-net-airoha-Reset-PPE-default-cput-port-in-airoha_ppe.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/apm821xx/patches-6.18/710-net-ibm_emac-Use-napi_gro_receive-for-Rx-packets.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0959-net-macb-Add-PHY-post-reset-settle-delay.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0717-net-macb-flush-PCIe-posted-write-after-TSTART-doorbe.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/backport-6.18/852-v7.1-rtc-cmos-use-platform_get_irq_optional.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0538-dmaengine-dw-axi-dmac-Fix-alignment-checks.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/ramips/patches-6.18/102-01-pwm-mediatek-set-mt7628-pwm45_fixup-flag-to-false.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0284-usb-xhci-add-VLI_SS_BULK_OUT_BUG-quirk.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0366-mmc-restrict-posted-write-counts-for-SD-cards-in-CQ-.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/starfive/patches-6.18/1013-dmaengine-dw-axi-dmac-Handle-xfer-start-while-non-id.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/backport-6.18/947-v7.3-net-ethernet-mtk_eth_soc-populate-lpi_interfaces-to-fix-EEE-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0736-drm-panel-simple-Fix-handling-of-panel-dsi.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0580-dmaengine-dw-axi-dmac-Add-DMA-channel-selection.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/starfive/patches-6.18/0027-RISC-V-Create-unique-identification-for-SoC-PMU.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/120-v7.0-net-airoha-implement-get_link_ksettings.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/142-03-v7.1-net-airoha-Rely-on-net_device-pointer-in-ETS-callbac.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0517-spi-dw-Wait-for-idle-after-TX.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0792-net-macb-gate-TX-stall-watchdog-on-netif_carrier_ok-.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/patches-6.18/0950-net-dsa-add-out-of-band-tagging-protocol.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ath79/patches-6.18/340-register_gpio_driver_earlier.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/starfive/patches-6.18/0005-i2c-designware-Delete-SMBus-functionalities.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/hack-6.18/902-debloat_proc.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0421-dmaengine-dw-axi-dmac-Allow-client-chosen-width.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/kernel-6.18"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0332-xhci-Use-more-event-ring-segment-table-entries.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/738-01-net-ethernet-mtk_eth_soc-reduce-rx-ring-size-for-older.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0664-net-cadence-macb-enable-EEE-for-Raspberry-Pi-RP1.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/ath79/patches-6.18/341-wifi-ath9k-obtain-system-gpios.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/backport-6.18/502-v7.3-smb-server-fix-signing-multi-iov-response.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0115-usb-xhci-drop-and-add-the-endpoint-context-in-xhci_f.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/starfive/patches-6.18/0009-uart-8250-Add-dw-auto-flow-ctrl-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0285-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0541-PCI-quirks-work-around-VL805-firmware-ASPM-meddling.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/backport-6.18/941-v7.2-net-dsa-realtek-rtl8365mb-add-support-for-rtl8367sb.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0301-i2c-designware-Add-SMBUS-quick-command-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/hack-6.18/739-net-ethernet-mtk_eth_soc-fix-offload-with-incompatible-.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0174-staging-fbtft-Add-support-for-display-variants.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0790-net-macb-gate-PCIe-posted-write-flush-behind-MACB_CA.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/795-04-net-ethernet-mtk_eth_soc-per-SoC-QDMA-TX-queue-count.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0855-Revert-net-macb-re-check-ISR-after-IER-re-enable-in-.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/backport-6.18/700-01-v7.0-net-sched-Export-mq-functions-for-reuse.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/795-06-net-ethernet-mtk_eth_soc-use-DSA-queue-map-in-TX-pat.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/886-uart-add-en7523-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/812-PCI-sysfs-enforce-single-creation-of-sysfs-entry-for.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/starfive/patches-6.18/0029-dmaengine-dw-axi-dmac-Drop-unused-print-message.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/155-v7.2-net-airoha-Rename-get_src_port_id-callback-in-get_sp.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/hack-6.18/755-net-phy-motorcomm-yt8821-bus-collision-workaround.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/738-02-net-ethernet-mtk_eth_soc-do-not-enable-page-pool-sta.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/patches-6.18/159-v7.2-net-airoha-Introduce-airoha_fe_get-airoha_qdma_get-r.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/patches-6.18/432-drivers-spi-Add-support-for-dynamic-calibration.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/starfive/patches-6.18/1014-dmaengine-dw-axi-dmac-Add-StarFive-JH7100-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/econet/patches-6.18/036-v6.19-PCI-mediatek-Add-support-for-Airoha-AN7583-SoC.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/733-01-net-ethernet-mtk_eth_soc-use-napi_build_skb.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/737-10-net-ethernet-mtk_eth_soc-add-paths-and-SerDes-modes-.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/920-mangle_bootargs.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0536-drm-panel-Add-panel-driver-for-Ilitek-ILI9806E-panel.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/bcm27xx/patches-6.18/0850-dmaengine-dw-axi-dmac-Wait-for-runtime-resume.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/backport-6.18/710-01-v7.1-net-sfp-add-quirk-for-ZOERAX-SFP-2.5G-T.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/ath79/patches-6.18/341-wifi-ath9k-always-register-system-gpios.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0852-Revert-net-macb-gate-TX-stall-watchdog-on-netif_carr.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/bcm27xx/patches-6.18/0256-net-bcmgenet-Add-eee-module-parameter.patch",
          "target/linux/bcm27xx/patches-6.18/0121-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch",
          "target/linux/generic/hack-6.18/902-debloat_proc.patch",
          "target/linux/bcm27xx/patches-6.18/0812-brcmfmac-cyw-clean-up-PMKID-and-cookie-code.patch",
          "target/linux/bcm27xx/patches-6.18/0745-Revert-bcmgenet-constrain-max-DMA-burst-length.patch",
          "target/linux/generic/pending-6.18/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch",
          "target/linux/generic/hack-6.18/901-debloat_sock_diag.patch",
          "target/linux/bcm27xx/patches-6.18/0159-bcmgenet-Disable-skip_umac_reset-by-default.patch",
          "target/linux/bcm27xx/patches-6.18/0691-Revert-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fa.patch",
          "target/linux/bcm27xx/patches-6.18/0689-Revert-net-bcmgenet-Add-eee-module-parameter.patch",
          "target/linux/octeon/patches-6.18/000-fix-octeon-kernel-build.patch",
          "target/linux/generic/pending-6.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch",
          "target/linux/bcm27xx/patches-6.18/0690-Revert-bcmgenet-Disable-skip_umac_reset-by-default.patch",
          "target/linux/bcm27xx/patches-6.18/0226-hwmon-pwm-fan-Add-fan-speed-register-support.patch",
          "target/linux/generic/pending-6.18/630-packet_socket_type.patch",
          "target/linux/ipq40xx/patches-6.18/999-atm-mpoa-intel-dsl-phy-support.patch",
          "target/linux/generic/backport-6.18/502-v7.3-smb-server-fix-signing-multi-iov-response.patch",
          "target/linux/bcm27xx/patches-6.18/0110-bcmgenet-Better-coalescing-parameter-defaults.patch",
          "target/linux/bcm27xx/patches-6.18/0350-non-upstream-support-DS1-exit-firmware-re-download.patch",
          "target/linux/generic/pending-6.18/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch",
          "target/linux/generic/hack-6.18/650-netfilter-add-xt_FLOWOFFLOAD-target.patch",
          "target/linux/bcm27xx/patches-6.18/0802-brcmfmac-pass-PMKID-to-firmware-if-present.patch",
          "target/linux/bcm27xx/patches-6.18/0109-bcmgenet-constrain-max-DMA-burst-length.patch",
          "target/linux/generic/kernel-6.18",
          "target/linux/generic/pending-6.18/505-ksmbd-revert-fix-to-handle-removal-of-rfc1002-header.patch",
          "target/linux/generic/pending-6.18/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch"
        ],
        "commitId" : "142619bac5ba56d5c8adbb80b6a65095057e0a65",
        "timestamp" : 1790808642000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/hauke",
          "fullName" : "hauke"
        },
        "authorEmail" : "hauke@hauke-m.de",
        "comment" : "kernel: bump 6.18 to 6.18.54\u000a\u000aChangelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.18.54\u000a\u000aRemoved upstreamed:\u000a  linux/generic/pending-6.18/505-ksmbd-revert-fix-to-handle-removal-of-rfc1002-header.patch [1]\u000a  linux/bcm27xx/patches-6.18/0802-brcmfmac-pass-PMKID-to-firmware-if-present.patch [2]\u000a\u000aManually rebased:\u000a  linux/generic/pending-6.18/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch\u000a  linux/bcm27xx/patches-6.18/0812-brcmfmac-cyw-clean-up-PMKID-and-cookie-code.patch\u000a\u000a1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.54&id=024eb5c4cea0785c5ca98eef53c348f55b284e08\u000a2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.18.54&id=c2cf589c7d546557ed60c43f2ec014279265dfbf\u000a\u000aAll other patches automatically rebased via update_kernel.sh\u000a\u000aBuild system: x86/64\u000aBuild-tested: mediatek/filogic\u000aRun-tested: mediatek/filogic\u000a\u000aSigned-off-by: Edoardo Pinci <epinci@outlook.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25331\u000aSigned-off-by: Hauke Mehrtens <hauke@hauke-m.de>\u000a",
        "date" : "2026-10-01 00:50:42 +0200",
        "id" : "142619bac5ba56d5c8adbb80b6a65095057e0a65",
        "msg" : "kernel: bump 6.18 to 6.18.54",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0159-bcmgenet-Disable-skip_umac_reset-by-default.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/backport-6.18/502-v7.3-smb-server-fix-signing-multi-iov-response.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/hack-6.18/901-debloat_sock_diag.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0109-bcmgenet-constrain-max-DMA-burst-length.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0812-brcmfmac-cyw-clean-up-PMKID-and-cookie-code.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0110-bcmgenet-Better-coalescing-parameter-defaults.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/hack-6.18/650-netfilter-add-xt_FLOWOFFLOAD-target.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0689-Revert-net-bcmgenet-Add-eee-module-parameter.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0745-Revert-bcmgenet-constrain-max-DMA-burst-length.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0350-non-upstream-support-DS1-exit-firmware-re-download.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/kernel-6.18"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0691-Revert-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fa.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0690-Revert-bcmgenet-Disable-skip_umac_reset-by-default.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0121-net-bcmgenet-Workaround-2-for-Pi4-Ethernet-fail.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0226-hwmon-pwm-fan-Add-fan-speed-register-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ipq40xx/patches-6.18/999-atm-mpoa-intel-dsl-phy-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/pending-6.18/505-ksmbd-revert-fix-to-handle-removal-of-rfc1002-header.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/octeon/patches-6.18/000-fix-octeon-kernel-build.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/hack-6.18/902-debloat_proc.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/630-packet_socket_type.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/bcm27xx/patches-6.18/0802-brcmfmac-pass-PMKID-to-firmware-if-present.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.18/0256-net-bcmgenet-Add-eee-module-parameter.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/b43-tools/Makefile"
        ],
        "commitId" : "43ec1e56b4d031854f9c76957e985417304b8846",
        "timestamp" : 1790809643000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/hauke",
          "fullName" : "hauke"
        },
        "authorEmail" : "hauke@hauke-m.de",
        "comment" : "tools/b43-tools: update to latest git HEAD\u000a\u000aUpdate b43-tools to latest git commit 36284a5 (release b43-fwcutter-021).\u000a\u000aIncludes upstream commit 61105cc (\"Makefiles: Declare source\u000aprerequisites for object rules\"), which fixes build failures on macOS\u000aand systems where $< resolved to generated dependency prerequisites\u000arather than the source file.\u000a\u000aChanges:\u000a36284a5 fwcutter: Update release script\u000a8690498 ci: Reduce flags\u000ae23a1bb Align all CFLAGS\u000a8440ca7 Add build CI\u000a672a056 Use true instead of hardcoding /bin/true\u000a7fd711a fwcutter: Bump version\u000a61105cc Makefiles: Declare source prerequisites for object rules\u000a\u000aSigned-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25500\u000aSigned-off-by: Hauke Mehrtens <hauke@hauke-m.de>\u000a",
        "date" : "2026-10-01 01:07:23 +0200",
        "id" : "43ec1e56b4d031854f9c76957e985417304b8846",
        "msg" : "tools/b43-tools: update to latest git HEAD",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/b43-tools/Makefile"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
      "fullName" : "robimarko"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
      "fullName" : "markus.stockhausen"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
      "fullName" : "daniel"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/mail",
      "fullName" : "mail"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/hauke",
      "fullName" : "hauke"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/jonas",
      "fullName" : "jonas"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/ansuelsmth",
      "fullName" : "ansuelsmth"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/nbd",
      "fullName" : "nbd"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/lynxis",
      "fullName" : "lynxis"
    }
  ]
}