{
  "_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" : 486,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "fe4bb132561130e85cc87f27691e55ca9ac5cd20",
            "branch" : [
              {
                "SHA1" : "fe4bb132561130e85cc87f27691e55ca9ac5cd20",
                "name" : "refs/remotes/origin/main"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fe4bb132561130e85cc87f27691e55ca9ac5cd20",
            "branch" : [
              {
                "SHA1" : "fe4bb132561130e85cc87f27691e55ca9ac5cd20",
                "name" : "refs/remotes/origin/main"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "fe4bb132561130e85cc87f27691e55ca9ac5cd20",
        "branch" : [
          {
            "SHA1" : "fe4bb132561130e85cc87f27691e55ca9ac5cd20",
            "name" : "refs/remotes/origin/main"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/openwrt/openwrt"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    {
      "displayPath" : "config.buildinfo",
      "fileName" : "config.buildinfo",
      "relativePath" : "bin/targets/ath79/tiny/config.buildinfo"
    },
    {
      "displayPath" : "feeds.buildinfo",
      "fileName" : "feeds.buildinfo",
      "relativePath" : "bin/targets/ath79/tiny/feeds.buildinfo"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wg600hp-initramfs-factory.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wg600hp-initramfs-factory.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wg600hp-initramfs-factory.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wg600hp-initramfs-kernel.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wg600hp-initramfs-kernel.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wg600hp-initramfs-kernel.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wg600hp-squashfs-sysupgrade.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wg600hp-squashfs-sysupgrade.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wg600hp-squashfs-sysupgrade.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wg600hp-uboot.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wg600hp-uboot.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wg600hp-uboot.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wr8750n-initramfs-factory.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wr8750n-initramfs-factory.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wr8750n-initramfs-factory.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wr8750n-initramfs-kernel.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wr8750n-initramfs-kernel.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wr8750n-initramfs-kernel.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wr8750n-squashfs-sysupgrade.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wr8750n-squashfs-sysupgrade.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wr8750n-squashfs-sysupgrade.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wr8750n-uboot.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wr8750n-uboot.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wr8750n-uboot.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wr9500n-initramfs-factory.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wr9500n-initramfs-factory.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wr9500n-initramfs-factory.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wr9500n-initramfs-kernel.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wr9500n-initramfs-kernel.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wr9500n-initramfs-kernel.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wr9500n-squashfs-sysupgrade.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wr9500n-squashfs-sysupgrade.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wr9500n-squashfs-sysupgrade.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny-nec_wr9500n-uboot.bin",
      "fileName" : "openwrt-ath79-tiny-nec_wr9500n-uboot.bin",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny-nec_wr9500n-uboot.bin"
    },
    {
      "displayPath" : "openwrt-ath79-tiny.manifest",
      "fileName" : "openwrt-ath79-tiny.manifest",
      "relativePath" : "bin/targets/ath79/tiny/openwrt-ath79-tiny.manifest"
    },
    {
      "displayPath" : "profiles.json",
      "fileName" : "profiles.json",
      "relativePath" : "bin/targets/ath79/tiny/profiles.json"
    },
    {
      "displayPath" : "sha256sums",
      "fileName" : "sha256sums",
      "relativePath" : "bin/targets/ath79/tiny/sha256sums"
    },
    {
      "displayPath" : "version.buildinfo",
      "fileName" : "version.buildinfo",
      "relativePath" : "bin/targets/ath79/tiny/version.buildinfo"
    }
  ],
  "building" : false,
  "description" : "diffconfig: true, device: WR8750N/WR9500N/WG600HP (AR9344)",
  "displayName" : "#486",
  "duration" : 2627583,
  "estimatedDuration" : 3023555,
  "executor" : null,
  "fullDisplayName" : "OpenWrt (master) for NEC Aterm (NetBSD based) #486",
  "id" : "486",
  "inProgress" : false,
  "keepLog" : false,
  "number" : 486,
  "queueId" : 51,
  "result" : "SUCCESS",
  "timestamp" : 1788738000597,
  "url" : "https://taiha.net/jenkins/view/all/job/OpenWrt-master-NEC-BSD-Aterm/486/",
  "builtOn" : "home-slave02_taihasv",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/qualcommax/dts/ipq6000-nn6000-v2.dts"
        ],
        "commitId" : "e5517d856dc802a7bff3899091ea5b0a724dcaad",
        "timestamp" : 1788428109000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "qualcommax: ipq60xx: enable lan4 port for link nn6000v2\u000a\u000aThe swport5 node was disabled by mistake during the PPE conversion.\u000a\u000aFixes: f50435627d37 (\"qualcommax: ipq60xx/ipq807x: convert to PPE networking stack\")\u000aSigned-off-by: Tianling Shen <cnsztl@immortalwrt.org>\u000aLink: https://github.com/openwrt/openwrt/pull/25006\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-03 11:35:09 +0200",
        "id" : "e5517d856dc802a7bff3899091ea5b0a724dcaad",
        "msg" : "qualcommax: ipq60xx: enable lan4 port for link nn6000v2",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/dts/ipq6000-nn6000-v2.dts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/config/wifi-scripts/files-ucode/lib/netifd/wireless/mac80211.sh",
          "package/network/config/wifi-scripts/Makefile"
        ],
        "commitId" : "e21a4ef958d8ea1006a0b4a8ebbf0c6a35be95a0",
        "timestamp" : 1788428299000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "wifi-scripts: silence iw antenna/distance failures like shell did\u000a\u000aThe shell mac80211.sh ran both of these with >/dev/null 2>&1:\u000a\u000a\u0009iw phy \"$phy\" set antenna $txantenna $rxantenna >/dev/null 2>&1\u000a\u0009iw phy \"$phy\" set distance \"$distance\" >/dev/null 2>&1\u000a\u000aThe ucode rewrite dropped the redirect, so on any driver without\u000a->set_coverage_class every wifi up now logs\u000a\u000a\u0009netifd: radio0 (3302): command failed: Not supported (-95)\u000a\u000awith no indication of which command failed. Neither return value is\u000achecked, so the message is pure noise -- but it reads like wifi up\u000afailed, and on ath12k/IPQ5332 it cost real debugging time before the\u000aline was traced back to iw.c:616 rather than to the driver.\u000a\u000aRestore the redirect. distance defaults to 0 and antenna to 0xffffffff,\u000aso both calls run on every setup for every radio.\u000a\u000aSigned-off-by: Hideo Sumi <hideo.sumi@mugops.com>\u000a",
        "date" : "2026-09-03 11:38:19 +0200",
        "id" : "e21a4ef958d8ea1006a0b4a8ebbf0c6a35be95a0",
        "msg" : "wifi-scripts: silence iw antenna/distance failures like shell did",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/config/wifi-scripts/files-ucode/lib/netifd/wireless/mac80211.sh"
          },
          {
            "editType" : "edit",
            "file" : "package/network/config/wifi-scripts/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/firmware/linux-firmware/aeonsemi.mk"
        ],
        "commitId" : "897533e4886e008e994980ea1339cff44e5a405e",
        "timestamp" : 1788434358000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
          "fullName" : "daniel"
        },
        "authorEmail" : "daniel@makrotopia.org",
        "comment" : "linux-firmware: mark aeonsemi-as21xxx-firmware as 'nonshared'\u000a\u000aIn order for the firmware package to depend on the corresponding kmod it\u000aneeds to be built within the same builtbot phase for the dependency to\u000aland in the package metadata. Select 'nonshared' to force the firmware to\u000aalso get built as part of phase1.\u000a\u000aFixes: 1446eff887 (\"mediatek: filogic: bpi-r4-pro-8x: add aeonsemi phy to bpi-r4-pro-8x\")\u000aSigned-off-by: Daniel Golle <daniel@makrotopia.org>\u000a",
        "date" : "2026-09-03 12:19:18 +0100",
        "id" : "897533e4886e008e994980ea1339cff44e5a405e",
        "msg" : "linux-firmware: mark aeonsemi-as21xxx-firmware as 'nonshared'",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/firmware/linux-firmware/aeonsemi.mk"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl838x.c"
        ],
        "commitId" : "1866d1eba79b6f9a6261bcc3e3ffbe28abbf373e",
        "timestamp" : 1788447634000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: dsa: rtl838x: don't clobber adjacent LOG counter\u000a\u000artl838x_packet_cntr_clear() zeroes one of the two registers that make up\u000aa LOG table entry and then writes the whole entry back without reading it\u000afirst, wiping the adjacent counter with whatever stale data is in the\u000atable register cache. Two 32-bit packet counters share one entry, so the\u000acounter next to the one being cleared is lost.\u000a\u000aRead the entry before modifying one half, mirroring the same fix already\u000aapplied to rtl930x_packet_cntr_clear().\u000a\u000aSigned-off-by: Mark Abe <github@mab.wien>\u000aLink: https://github.com/openwrt/openwrt/pull/25005\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-03 17:00:34 +0200",
        "id" : "1866d1eba79b6f9a6261bcc3e3ffbe28abbf373e",
        "msg" : "realtek: dsa: rtl838x: don't clobber adjacent LOG counter",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl838x.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl839x.c"
        ],
        "commitId" : "d8f9a15a2de22dc5f8644243c8637d66d854c714",
        "timestamp" : 1788447634000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: dsa: rtl839x: don't clobber adjacent LOG counter\u000a\u000artl839x_packet_cntr_clear() has the same defect as the rtl838x variant:\u000ait zeroes one register of a shared two-register LOG table entry and\u000awrites the entry back without reading it first, so the counter sharing\u000athat entry is overwritten with stale register-cache data.\u000a\u000aRead the entry before modifying one half, mirroring the same fix already\u000aapplied to rtl930x_packet_cntr_clear().\u000a\u000aSigned-off-by: Mark Abe <github@mab.wien>\u000aLink: https://github.com/openwrt/openwrt/pull/25005\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-03 17:00:34 +0200",
        "id" : "d8f9a15a2de22dc5f8644243c8637d66d854c714",
        "msg" : "realtek: dsa: rtl839x: don't clobber adjacent LOG counter",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl839x.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/mediatek/dts/mt7622-buffalo-wsr-2533dhp2.dts",
          "target/linux/mediatek/dts/mt7622-elecom-wrc-2533gent.dts",
          "target/linux/mediatek/mt7622/base-files/etc/uci-defaults/05_fix-compat-version",
          "target/linux/mediatek/image/mt7622.mk",
          "target/linux/mediatek/mt7622/config-6.18",
          "target/linux/mediatek/mt7622/base-files/etc/board.d/05_compat-version",
          "target/linux/mediatek/dts/mt7622-buffalo-wsr.dtsi",
          "target/linux/mediatek/dts/mt7622-totolink-a8000ru.dts",
          "target/linux/mediatek/mt7622/base-files/etc/board.d/02_network"
        ],
        "commitId" : "7727479e5f7160391b3eeb2f58244daf360ed1b3",
        "timestamp" : 1788454364000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "mediatek: mt7622: convert devices with RTL8367S switch to DSA\u000a\u000aMigrate Buffalo WSR-2533DHP2, ELECOM WRC-2533GENT and TOTOLINK A8000RU\u000afrom swconfig to DSA. These devices use an external Realtek RTL8367S\u000aswitch handled by the rtl8365mb DSA driver.\u000a\u000aPer-device changes:\u000a - Drop the proprietary mediatek,rtk-gsw node\u000a - Add realtek,rtl8365mb DSA switch with ports lan1-lan4, wan and CPU\u000a - Move CPU port to gmac0 at 2500base-x (HSGMII)\u000a - Remove gmac1 (was 5u@eth1 in swconfig; DSA uses single CPU port)\u000a - Drop unused rgmii_via_gmac2 pin group\u000a - Replace swconfig with kmod-dsa-rtl8365mb\u000a - Bump DEVICE_COMPAT_VERSION (config migration not possible)\u000a - Remove swconfig board setup from 02_network\u000a - Disable CONFIG_RTL8367S_GSW in mt7622 kernel config\u000a\u000aCPU link / bandwidth notes:\u000a - Buffalo WSR-2533DHP2 and TOTOLINK A8000RU: already used 2500base-x\u000a   on gmac0 before this change; aggregate bandwidth stays the same.\u000a - ELECOM WRC-2533GENT: gmac0 moves from SGMII (1G) to 2500base-x\u000a   (HSGMII).  The swconfig setup previously used two 1G CPU links\u000a   (gmac0 + gmac1) for 2 Gbps aggregate; DSA collapses this to a\u000a   single 2.5 Gbps link.\u000a\u000aMAC address assignment notes:\u000a - Buffalo WSR-2533DHP2: WAN uses base MAC + 1, gmac0/LAN uses base MAC\u000a   (previously the WAN MAC existed on the implicit eth1/gmac1 interface)\u000a - ELECOM WRC-2533GENT: WAN inherits CPU MAC via DSA conduit\u000a   (original gmac1 had no nvmem-cells assignment)\u000a - TOTOLINK A8000RU: WAN reuses macaddr_factory_24 (previously gmac1)\u000a\u000aSigned-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>\u000aLink: https://github.com/openwrt/openwrt/pull/24861\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-09-03 18:52:44 +0200",
        "id" : "7727479e5f7160391b3eeb2f58244daf360ed1b3",
        "msg" : "mediatek: mt7622: convert devices with RTL8367S switch to DSA",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/mt7622/base-files/etc/board.d/05_compat-version"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/mt7622/config-6.18"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/image/mt7622.mk"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/dts/mt7622-buffalo-wsr.dtsi"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/dts/mt7622-totolink-a8000ru.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/dts/mt7622-elecom-wrc-2533gent.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/mt7622/base-files/etc/uci-defaults/05_fix-compat-version"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/dts/mt7622-buffalo-wsr-2533dhp2.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/mt7622/base-files/etc/board.d/02_network"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/port.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rate.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/smi.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_portIsolation.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtk_error.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/cpu.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_phy.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/Makefile",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/mirror.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/eee.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_scheduling.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_led.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_reg.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_eav.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtk_types.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_i2c.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/port.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_fc.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/l2.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_vlan.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367s.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/smi.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_lut.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/leaky.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/igmp.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_mirror.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_i2c.h",
          "target/linux/mediatek/mt7622/config-6.18",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_rldp.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_svlan.c",
          "target/linux/mediatek/mt7623/config-6.18",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_cputag.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/ptp.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/trunk.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/trap.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/storm.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_unknownMulticast.c",
          "target/linux/mediatek/mt7629/config-6.18",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_qos.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/dot1x.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_interrupt.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/interrupt.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_mib.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rldp.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/i2c.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/cpu.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_hsb.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/dot1x.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/l2.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_scheduling.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtk_switch.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/led.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/interrupt.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_inbwctrl.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_svlan.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/oam.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_rldp.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/trunk.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_cputag.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_eee.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_inbwctrl.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/ptp.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_igmp.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_oam.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_misc.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/leaky.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/storm.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/svlan.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_dot1x.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtk_hal.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_qos.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/qos.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/acl.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/vlan.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtk_switch.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_port.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_acl.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_igmp.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/vlan.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/acl.h",
          "target/linux/mediatek/patches-6.18/500-gsw-rtl8367s-mt7622-support.patch",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_mirror.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_mii_mgr.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_port.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_trunking.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_mib.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_hsb.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_interrupt.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_trunking.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_fc.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_rma.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/mirror.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_acl.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/igmp.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/stat.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/stat.h",
          "target/linux/mediatek/filogic/config-6.18",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_vlan.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367s_mdio.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_storm.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_portIsolation.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_green.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_eee.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_unknownMulticast.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_green.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_meter.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/qos.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rldp.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/eee.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367s_dbg.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_eav.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/i2c.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_phy.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/led.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_oam.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_misc.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_rma.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/svlan.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_led.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_storm.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_meter.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/trap.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_lut.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtk_hal.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_dot1x.h",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rate.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/oam.c",
          "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_base.h"
        ],
        "commitId" : "70c61a29e5acb6afe6c59b5df18eaab0ebc88d0a",
        "timestamp" : 1788454364000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "mediatek: remove RTL8367S_GSW driver and disable swconfig on mt7622\u000a\u000aAll mt7622 devices using the RTL8367S switch have been migrated to\u000athe generic rtl8365mb DSA driver. Remove the now-unused RTL8367S_GSW\u000adriver and disable swconfig in the mt7622 kernel config, since no\u000adevice in this target needs it anymore.\u000a\u000aThe driver and its Kconfig symbol are shared across the mediatek\u000atarget, so this also drops the tree-wide files/drivers/net/phy/rtk/\u000asources and the now-dead \"# CONFIG_RTL8367S_GSW is not set\" line\u000afrom the filogic, mt7623 and mt7629 kernel configs.\u000a\u000aSigned-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>\u000aLink: https://github.com/openwrt/openwrt/pull/24861\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-09-03 18:52:44 +0200",
        "id" : "70c61a29e5acb6afe6c59b5df18eaab0ebc88d0a",
        "msg" : "mediatek: remove RTL8367S_GSW driver and disable swconfig on mt7622",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_green.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/svlan.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/i2c.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_mib.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_mii_mgr.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/igmp.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_hsb.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/led.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_misc.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/trunk.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/leaky.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_hsb.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/smi.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_svlan.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_vlan.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/dot1x.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/dot1x.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/port.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/l2.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_unknownMulticast.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/stat.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_lut.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/patches-6.18/500-gsw-rtl8367s-mt7622-support.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/cpu.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_inbwctrl.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_eee.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rate.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/ptp.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/smi.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtk_types.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_led.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/led.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_green.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_interrupt.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_igmp.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_rldp.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/ptp.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/interrupt.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/acl.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtk_switch.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_igmp.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/trap.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/interrupt.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rldp.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_acl.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367s_mdio.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_eee.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/mirror.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_phy.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_unknownMulticast.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_interrupt.h"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/mt7629/config-6.18"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/Makefile"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_phy.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_mib.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_led.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_rma.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_reg.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_lut.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_port.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_cputag.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_oam.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_svlan.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_scheduling.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_portIsolation.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtk_hal.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/qos.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_storm.c"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/filogic/config-6.18"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_qos.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_trunking.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_i2c.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtk_hal.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/storm.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_vlan.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_i2c.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/i2c.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/stat.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_storm.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_rma.h"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/mt7622/config-6.18"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_oam.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/cpu.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_meter.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/port.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/leaky.h"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mediatek/mt7623/config-6.18"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/igmp.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/mirror.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rate.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rldp.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367s_dbg.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_acl.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/storm.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/vlan.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/trap.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_cputag.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_dot1x.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_rldp.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_eav.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_misc.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/oam.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_mirror.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/eee.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/vlan.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/oam.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_eav.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_port.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_fc.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/svlan.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtk_error.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/acl.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_meter.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_scheduling.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/trunk.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtk_switch.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_qos.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_inbwctrl.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_base.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/eee.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/qos.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_mirror.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_portIsolation.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367s.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_trunking.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/rtl8367c_asicdrv_fc.c"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/rtl8367c_asicdrv_dot1x.h"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/mediatek/files/drivers/net/phy/rtk/rtl8367c/include/l2.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/generic/pending-6.18/896-03-net-phy-own-phydev-psec-via-PSE-notifier-and-remove-.patch",
          "target/linux/generic/pending-6.18/801-01-net-phy-add-PHY_DETACH_NO_HW_RESET-PHY-flag.patch",
          "target/linux/generic/backport-6.18/786-02-v7.4-net-phy-add-notify_phy_attach_detach-hooks-to-struct-mii_bus.patch",
          "target/linux/ramips/patches-6.18/720-NET-no-auto-carrier-off-support.patch",
          "target/linux/generic/pending-6.18/703-phy-add-detach-callback-to-struct-phy_driver.patch",
          "target/linux/generic/backport-6.18/786-01-v7.4-net-phy-add-phy_detach_internal-helper.patch"
        ],
        "commitId" : "5a09fb18589c60ce87189d8c70e0946deb3320d7",
        "timestamp" : 1788456292000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "kernel: backport (*notify_phy_attach/detach)() hooks\u000a\u000aProvide two hooks in struct mii_bus\u000a\u000a- notify_phy_attach(): called in phy_attach_direct() after PHY\u000a  hardware has been initialized and just before PHY is resumed.\u000a- notify_phy_detach(): called in phy_detach() right after PHY\u000a  has been suspended.\u000a\u000aLink: https://github.com/openwrt/openwrt/pull/25009\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-03 19:24:52 +0200",
        "id" : "5a09fb18589c60ce87189d8c70e0946deb3320d7",
        "msg" : "kernel: backport (*notify_phy_attach/detach)() hooks",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/generic/backport-6.18/786-02-v7.4-net-phy-add-notify_phy_attach_detach-hooks-to-struct-mii_bus.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/896-03-net-phy-own-phydev-psec-via-PSE-notifier-and-remove-.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/ramips/patches-6.18/720-NET-no-auto-carrier-off-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/703-phy-add-detach-callback-to-struct-phy_driver.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/801-01-net-phy-add-PHY_DETACH_NO_HW_RESET-PHY-flag.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/generic/backport-6.18/786-01-v7.4-net-phy-add-phy_detach_internal-helper.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/patches-6.18/031-31-v7.4-net-mdio-realtek-rtl9300-Open-up-C22-and-C45-space-in-parallel.patch",
          "target/linux/realtek/patches-6.18/031-33-v7.4-net-mdio-realtek-rtl9300-Add-support-for-RTL839x.patch",
          "target/linux/realtek/patches-6.18/031-25-v7.4-net-mdio-realtek-rtl9300-Add-polling-doc.patch",
          "target/linux/realtek/patches-6.18/031-30-v7.4-net-mdio-realtek-rtl9300-Increase-MDIO-timeout.patch",
          "target/linux/realtek/patches-6.18/031-28-v7.4-net-mdio-realtek-rtl9300-Configure-hardware-polling-during-probing.patch",
          "target/linux/realtek/patches-6.18/031-32-v7.4-net-mdio-realtek-rtl9300-Add-support-for-RTL838x.patch",
          "target/linux/realtek/patches-6.18/031-34-v7.4-net-mdio-realtek-rtl9300-reword-Kconfig-and-module-description.patch",
          "target/linux/realtek/patches-6.18/031-27-v7.4-net-mdio-realtek-rtl9300-suppress-sysfs-bind-unbind-attributes.patch",
          "target/linux/realtek/patches-6.18/031-26-v7.4-net-mdio-realtek-rtl9300-deny-C45-over-C22-access.patch",
          "target/linux/realtek/patches-6.18/031-29-v7.4-net-mdio-realtek-rtl9300-Add-page-tracking.patch"
        ],
        "commitId" : "aa66786f38505c80daaec59ed922d420261467fe",
        "timestamp" : 1788456292000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: backport Realtek Otto MDIO patches\u000a\u000aAnother bunch of Realtek otto MDIO patches has been\u000aaccepted upstream. Add them downstream.\u000a\u000aLink: https://github.com/openwrt/openwrt/pull/25009\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-03 19:24:52 +0200",
        "id" : "aa66786f38505c80daaec59ed922d420261467fe",
        "msg" : "realtek: backport Realtek Otto MDIO patches",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/realtek/patches-6.18/031-28-v7.4-net-mdio-realtek-rtl9300-Configure-hardware-polling-during-probing.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/realtek/patches-6.18/031-27-v7.4-net-mdio-realtek-rtl9300-suppress-sysfs-bind-unbind-attributes.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/realtek/patches-6.18/031-34-v7.4-net-mdio-realtek-rtl9300-reword-Kconfig-and-module-description.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/realtek/patches-6.18/031-26-v7.4-net-mdio-realtek-rtl9300-deny-C45-over-C22-access.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/realtek/patches-6.18/031-32-v7.4-net-mdio-realtek-rtl9300-Add-support-for-RTL838x.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/realtek/patches-6.18/031-31-v7.4-net-mdio-realtek-rtl9300-Open-up-C22-and-C45-space-in-parallel.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/realtek/patches-6.18/031-33-v7.4-net-mdio-realtek-rtl9300-Add-support-for-RTL839x.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/realtek/patches-6.18/031-25-v7.4-net-mdio-realtek-rtl9300-Add-polling-doc.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/realtek/patches-6.18/031-30-v7.4-net-mdio-realtek-rtl9300-Increase-MDIO-timeout.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/realtek/patches-6.18/031-29-v7.4-net-mdio-realtek-rtl9300-Add-page-tracking.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/dsa.c",
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl839x.c",
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl838x.c",
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl-otto.h",
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl930x.c",
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl931x.c"
        ],
        "commitId" : "28ba2708f1f609bfd134975808b2bc6ed9dc9742",
        "timestamp" : 1788509061000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: dsa: derive phylink capabilities from SoC config\u000a\u000aReplace the separate RTL83xx and RTL93xx phylink capability callbacks\u000awith a common implementation.\u000a\u000aAdd mac_capabilities to the SoC configuration and use it to advertise\u000athe supported link speeds and corresponding SerDes interface modes.\u000aRTL838x and RTL839x support speeds up to 1 Gbps, while RTL930x and\u000aRTL931x additionally support 2.5, 5 and 10 Gbps.\u000a\u000aContinue to advertise PHY_INTERFACE_MODE_INTERNAL for all ports.\u000aDo not advertise PHY_INTERFACE_MODE_GMII, as the RTL83xx and RTL93xx\u000aSoCs do not provide a GMII interface between their MACs and PHYs.\u000a\u000aWhen PCS instances are described for a port, copy the supported SerDes\u000ainterface modes to pcs_interfaces and register the callback used to\u000aresolve the available PCS instances.\u000a\u000aThis removes duplicated capability definitions, prevents phylink from\u000aselecting an unsupported GMII interface and provides the basis for\u000ataking the port-specific MAC-to-SerDes mapping into account.\u000a\u000aAssisted-by: ChatGPT (OpenAI GPT-5.6 Sol)\u000aLink: https://github.com/openwrt/openwrt/pull/24992\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-04 10:04:21 +0200",
        "id" : "28ba2708f1f609bfd134975808b2bc6ed9dc9742",
        "msg" : "realtek: dsa: derive phylink capabilities from SoC config",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/dsa.c"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl931x.c"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl839x.c"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl838x.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/rtl930x.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/patches-6.18/039-01-v7.4-gpio-realtek-otto-use-__raw_readl-writel-in-realtek_.patch",
          "target/linux/realtek/patches-6.18/039-02-v7.4-gpio-realtek-otto-make-bank_read-write-overridable-b.patch"
        ],
        "commitId" : "0f948c5111d8b55732373a24630daf4311d2bf02",
        "timestamp" : 1788525869000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: backport realtek-otto-gpio patches\u000a\u000aBackport the realtek gpio driver patches for that makes it\u000afunctional when SWAP_IO_SPACE is enabled.\u000a\u000aSigned-off-by: Rustam Adilov <adilov@tutamail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25015\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-04 14:44:29 +0200",
        "id" : "0f948c5111d8b55732373a24630daf4311d2bf02",
        "msg" : "realtek: backport realtek-otto-gpio patches",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/realtek/patches-6.18/039-01-v7.4-gpio-realtek-otto-use-__raw_readl-writel-in-realtek_.patch"
          },
          {
            "editType" : "add",
            "file" : "target/linux/realtek/patches-6.18/039-02-v7.4-gpio-realtek-otto-make-bank_read-write-overridable-b.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/dts/rtl9302_zyxel_xgs1x10-12-common.dtsi"
        ],
        "commitId" : "2b263a3951b638f183caaf11bb918feaa4102872",
        "timestamp" : 1788545749000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: extend Zyxel XGS1x10-12 SFP LED configuration for 100M/10M\u000a\u000aSpeeds of 100 Mb/s and 10 Mb/s are possible for SFP ports when SGMII or\u000aUSXGMII is used. Extend the LED configuration to include these speeds.\u000a\u000aSigned-off-by: Jan Hoffmann <jan@3e8.eu>\u000aLink: https://github.com/openwrt/openwrt/pull/25018\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-04 20:15:49 +0200",
        "id" : "2b263a3951b638f183caaf11bb918feaa4102872",
        "msg" : "realtek: extend Zyxel XGS1x10-12 SFP LED configuration for 100M/10M",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/dts/rtl9302_zyxel_xgs1x10-12-common.dtsi"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/pcs/pcs-rtl-otto.c"
        ],
        "commitId" : "db825a4e86e984a23a10be1f3a69c07c6e883b3e",
        "timestamp" : 1788553553000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "realtek: pcs: make 10gr link helper generic to rtl93xx\u000a\u000aBoth RTL93xx variants use the same link status bit for 10GR links.\u000aRename the RTL931x helper to rtl93xx so it can be shared by both\u000avariants.\u000a\u000aThe link status is latched low, so discard the first read and return\u000athe current state from the second. Use the helper in the RTL930x\u000astate-machine initialization instead of open-coding the two reads.\u000a\u000aLink: https://github.com/openwrt/openwrt/pull/24986\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-09-04 22:25:53 +0200",
        "id" : "db825a4e86e984a23a10be1f3a69c07c6e883b3e",
        "msg" : "realtek: pcs: make 10gr link helper generic to rtl93xx",
        "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" : "8d14167c132899aed8a947fc7c5c793aae38cafb",
        "timestamp" : 1788553554000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "realtek: pcs: split pcs_get_state link state sources\u000a\u000apcs_get_state always read the MAC-side link/speed mirror registers,\u000aregardless of SerDes mode. For Clause 37 modes, that mirror can go stale:\u000aa speed renegotiated purely at the SGMII/PCS level is visible in the SerDes\u000aLPA register immediately, but the MAC-side mirror only refreshes when the\u000aMAC force-enable selector is pulsed.\u000a\u000aRead the SerDes Clause 22/37 BMSR and LPA registers directly for SGMII,\u000a1000BASE-X and 2500BASE-X, and decode them with the standard phylink helper.\u000aRead BMSR twice because its link status is latched low. Keep all other\u000aSerDes modes on the existing MAC-side mirror path.\u000a\u000aWhen SGMII operates without in-band negotiation, preserve the speed,\u000aduplex and pause settings supplied by phylink; the PCS decoder only updates\u000alink state in that mode.\u000a\u000aThis fixes PCS state reporting for the SGMII speed-change bug reported on\u000aRTL930x SFP ports. Refreshing the MAC datapath with a force-enable pulse will\u000abe handled separately later.\u000a\u000aLink: https://github.com/openwrt/openwrt/issues/23055\u000aLink: https://github.com/openwrt/openwrt/pull/24986\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-09-04 22:25:54 +0200",
        "id" : "8d14167c132899aed8a947fc7c5c793aae38cafb",
        "msg" : "realtek: pcs: split pcs_get_state link state sources",
        "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" : "2a9f30361eba0eafd3cbe0c319b08e156b72015e",
        "timestamp" : 1788553554000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "realtek: pcs: rtl931x: drop unused link status getter\u000a\u000artpcs_931x_sds_link_sts_get() is marked __always_unused and has no\u000acallers. The active PCS paths now contain the status handling they\u000arequire, so remove the dormant SDK-derived diagnostic helper.\u000a\u000aLink: https://github.com/openwrt/openwrt/pull/24986\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-09-04 22:25:54 +0200",
        "id" : "2a9f30361eba0eafd3cbe0c319b08e156b72015e",
        "msg" : "realtek: pcs: rtl931x: drop unused link status getter",
        "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/mpc85xx/files/arch/powerpc/boot/dts/red-15w-rev1.dts",
          "target/linux/mpc85xx/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac"
        ],
        "commitId" : "e250cadb9d9be98e286e67cbbea64572ac1ea693",
        "timestamp" : 1788553798000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "mpc85xx: red-15w: use nvmem for wifi MAC\u000a\u000aRemove userspace handling for the wifi MAC as nvmem is available to\u000ahandle this.\u000a\u000aAdd label-mac-device support for similar reasons. The ethaddr MAC shows\u000aup on the label on the device.\u000a\u000aSigned-off-by: Rosen Penev <rosenp@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/24699\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-09-04 22:29:58 +0200",
        "id" : "e250cadb9d9be98e286e67cbbea64572ac1ea693",
        "msg" : "mpc85xx: red-15w: use nvmem for wifi MAC",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/mpc85xx/files/arch/powerpc/boot/dts/red-15w-rev1.dts"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/mpc85xx/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/boot/uboot-tools/Makefile",
          "package/boot/uboot-tools/uboot-envtools/files/mpc85xx"
        ],
        "commitId" : "3809dfe5c69b43bc9b39f7b75fa493bbc2ad57ac",
        "timestamp" : 1788553875000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "packages: uboot-tools: add env config for Sophos RED 15w\u000a\u000aUboot-Envtools is installed by default on the mpc85xx target.\u000a\u000aAdd the proper configuration for the Sophos RED 15w, so the fw_*env\u000acommands will actually work.\u000a\u000aFix alphabetic sorting in the case statement while we're at it.\u000a\u000aSigned-off-by: Shine- GH <4c.fce2@proton.me>\u000aLink: https://github.com/openwrt/openwrt/pull/24939\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-09-04 22:31:15 +0200",
        "id" : "3809dfe5c69b43bc9b39f7b75fa493bbc2ad57ac",
        "msg" : "packages: uboot-tools: add env config for Sophos RED 15w",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-tools/uboot-envtools/files/mpc85xx"
          },
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-tools/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/common.c"
        ],
        "commitId" : "a43f44ae3eab5e6c89fdc8b047c51747fa620b38",
        "timestamp" : 1788629188000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: dsa: release the LAG table on error paths\u000a\u000artldsa_93xx_lag_set_group2ports() gets an already locked table handle\u000afrom priv->r->lag_table() and releases it only on the success path, so\u000aboth error returns leave the mutex held for good.\u000a\u000aThe lock covers a whole table access register rather than one of its\u000atables, so the damage is wider than LAG: on RTL930x that register also\u000acarries VLAN, the ingress ACL, spanning tree state, the packet counters\u000aand port isolation, and every later access to any of them blocks. On\u000aRTL931x the LAG table shares its register with port isolation.\u000a\u000aOnly the -ENOSPC path can be reached today, when a bond has more than\u000aeight member ports; nothing bounds the member count before it.\u000aCallers cannot reach the -EOPNOTSUPP path because\u000artldsa_port_lag_join() already rejects any hash type other than\u000aNETDEV_LAG_HASH_L2 and L23 in rtldsa_83xx_lag_can_offload(), and the\u000aremaining callers pass a NULL info, but the missing release is a trap\u000afor whoever changes that guard.\u000a\u000aNot reproduced on hardware: the board here has eight ports, one too few\u000ato trigger the reachable path, and no RTL931x is available.\u000aCompile-tested on realtek/rtl930x and realtek/rtl838x.\u000a\u000aAssisted-by: Claude:claude-opus-5\u000aSigned-off-by: Gennaro Cimmino <gcimmino@rayonra.net>\u000aLink: https://github.com/openwrt/openwrt/pull/25036\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-05 19:26:28 +0200",
        "id" : "a43f44ae3eab5e6c89fdc8b047c51747fa620b38",
        "msg" : "realtek: dsa: release the LAG table on error paths",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/common.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/bcm27xx/patches-6.12/950-0054-Add-dwc_otg-driver.patch",
          "target/linux/generic/pending-6.12/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch",
          "target/linux/generic/pending-6.12/655-increase_skb_pad.patch",
          "target/linux/generic/kernel-6.12",
          "target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch",
          "target/linux/generic/backport-6.12/501-v7.1-ksmbd-harden-file-lifetime-during-session-teardown.patch",
          "target/linux/generic/backport-6.12/894-v7.3-usb-xhci-handle-port-events-when-there-is-one-roothub.patch"
        ],
        "commitId" : "ca7f2b898f8c34b2f64b33e3dcff06cf67e3d464",
        "timestamp" : 1788637832000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/hauke",
          "fullName" : "hauke"
        },
        "authorEmail" : "hauke@hauke-m.de",
        "comment" : "kernel: bump 6.12 to 6.12.108\u000a\u000aChangelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.108\u000a\u000aUpstream merged patches:\u000a- generic/backport-6.12/501-v7.1-ksmbd-harden-file-lifetime-during-session-teardown.patch[1]\u000a- generic/backport-6.12/894-v7.3-usb-xhci-handle-port-events-when-there-is-one-roothub.patch[2]\u000a\u000aAll other patches are automatically refreshed.\u000a\u000a[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.108&id=b708aa5cb1422fc97b48f6a2598a87d638ad74c3\u000a[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.108&id=65b2f6f79753ca285f6c611e457a67812e31816c\u000aSigned-off-by: Shiji Yang <yangshiji66@outlook.com>\u000aLink: https://github.com/openwrt/openwrt/pull/24993\u000aSigned-off-by: Hauke Mehrtens <hauke@hauke-m.de>\u000a",
        "date" : "2026-09-05 21:50:32 +0200",
        "id" : "ca7f2b898f8c34b2f64b33e3dcff06cf67e3d464",
        "msg" : "kernel: bump 6.12 to 6.12.108",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.12/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/bcm27xx/patches-6.12/950-0054-Add-dwc_otg-driver.patch"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/backport-6.12/894-v7.3-usb-xhci-handle-port-events-when-there-is-one-roothub.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/hack-6.12/721-net-add-packet-mangeling.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.12/655-increase_skb_pad.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/kernel-6.12"
          },
          {
            "editType" : "delete",
            "file" : "target/linux/generic/backport-6.12/501-v7.1-ksmbd-harden-file-lifetime-during-session-teardown.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl930x.c"
        ],
        "commitId" : "addae4dbfb01a0d92fdfe146ec915b2fe13d9ef2",
        "timestamp" : 1788642692000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: dsa: rtl930x: don't clobber adjacent LOG counter\u000a\u000aOn RTL930x two packet counters share a single LOG table entry, so the\u000acounter ID is halved when addressing the table. rtl930x_packet_cntr_clear()\u000azeroed one of the two registers and then wrote the whole entry back\u000awithout first reading its current contents, wiping the adjacent counter\u000awith whatever stale data happened to be in the table register cache.\u000a\u000aRead the entry before modifying one half so the adjacent counter is kept\u000aintact.\u000a\u000aAssisted-by: Claude Code (Anthropic Claude Sonnet 5)\u000aSigned-off-by: Mark Abe <github@mab.wien>\u000aLink: https://github.com/openwrt/openwrt/pull/25024\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-05 23:11:32 +0200",
        "id" : "addae4dbfb01a0d92fdfe146ec915b2fe13d9ef2",
        "msg" : "realtek: dsa: rtl930x: don't clobber adjacent LOG counter",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl930x.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl839x.c",
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl930x.c",
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl931x.c"
        ],
        "commitId" : "27c185120e11e8eb7fbca594d9d629e9b6651024",
        "timestamp" : 1788642692000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: dsa: rtl83xx: bound PIE rule search by the phase block range\u000a\u000artl839x_pie_rule_add(), rtl930x_pie_rule_add() and rtl931x_pie_rule_add()\u000asplit the PIE blocks into an ingress and an egress half and only scan the\u000ahalf matching the rule's phase, but the \"nothing found\" check still\u000acompared against the full block count. For a rule that exhausted its half\u000athe loop then fell through with a stale block/index instead of returning\u000a-EOPNOTSUPP.\u000a\u000aCompare against max_block so an exhausted phase range fails cleanly.\u000a\u000aAssisted-by: Claude Code (Anthropic Claude Sonnet 5)\u000aSigned-off-by: Mark Abe <github@mab.wien>\u000aLink: https://github.com/openwrt/openwrt/pull/25024\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-05 23:11:32 +0200",
        "id" : "27c185120e11e8eb7fbca594d9d629e9b6651024",
        "msg" : "realtek: dsa: rtl83xx: bound PIE rule search by the phase block range",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl839x.c"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl930x.c"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl931x.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl-otto.h"
        ],
        "commitId" : "d8693b19b4379ac0ab34338787e3e8781be7ac27",
        "timestamp" : 1788642692000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: dsa: widen pie_rule.ethertype_m to u16\u000a\u000aThe EtherType value in struct pie_rule is a u16, but its mask field was\u000aonly u8, so it cannot express a full 16-bit match. Widen the mask to\u000amatch the value it applies to.\u000a\u000aAssisted-by: Claude Code (Anthropic Claude Sonnet 5)\u000aSigned-off-by: Mark Abe <github@mab.wien>\u000aLink: https://github.com/openwrt/openwrt/pull/25024\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-05 23:11:32 +0200",
        "id" : "d8693b19b4379ac0ab34338787e3e8781be7ac27",
        "msg" : "realtek: dsa: widen pie_rule.ethertype_m to u16",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl-otto.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/tc.c"
        ],
        "commitId" : "d51cfa41a6d6c9d3a395baaf9457b53a116ea0cb",
        "timestamp" : 1788642692000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: dsa: rtl83xx: set fwd_sel for the tc flower TRAP action\u000a\u000aThe FLOW_ACTION_TRAP handler filled in fwd_data and fwd_act but left\u000afwd_sel clear, so the PIE never actually selected the forwarding action\u000aand trapped packets were not redirected to the CPU port.\u000a\u000aSet fwd_sel like the other forwarding actions do.\u000a\u000aAssisted-by: Claude Code (Anthropic Claude Sonnet 5)\u000aSigned-off-by: Mark Abe <github@mab.wien>\u000aLink: https://github.com/openwrt/openwrt/pull/25024\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-05 23:11:32 +0200",
        "id" : "d51cfa41a6d6c9d3a395baaf9457b53a116ea0cb",
        "msg" : "realtek: dsa: rtl83xx: set fwd_sel for the tc flower TRAP action",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/tc.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl838x.c",
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl930x.c",
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl839x.c",
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl931x.c"
        ],
        "commitId" : "d6933d6aedc8a8d5aff646ed3fe71135d5a46fcd",
        "timestamp" : 1788642692000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: dsa: rtl83xx: check L4 port and VLAN template fields\u000a\u000a*_pie_verify_template() rejected a template that lacked the SIP, DIP,\u000aSMAC or DMAC field a rule needs, but silently accepted one missing the\u000aL4 source/destination port or inner-VLAN fields. When such a template\u000awas picked the corresponding match was simply dropped: a\u000a\"flower ip_proto udp dst_port 5353\" offload installed against an L2-only\u000atemplate matched every UDP frame instead of just mDNS.\u000a\u000aThe same gap exists identically in all four PIE-based SoCs (rtl838x,\u000artl839x, rtl930x, rtl931x): each verify_template() stops at the SMAC/DMAC\u000acheck and never looks at the L4 port or VLAN fields.\u000a\u000aReject a template that does not carry the port/VLAN field the rule masks,\u000aso the block search falls through to one that does.\u000a\u000aThe failure was observed on an RTL9302C (Zyxel XGS1210-12, rtl930x): a\u000adst_port 5353 drop rule also counted UDP sent to other ports. rtl838x/\u000a839x/931x share the same verify_template() structure and template\u000alayout, so the fix is applied there too, though only rtl930x hardware\u000awas available to reproduce and verify it.\u000a\u000aAssisted-by: Claude Code (Anthropic Claude Sonnet 5)\u000aSigned-off-by: Mark Abe <github@mab.wien>\u000aLink: https://github.com/openwrt/openwrt/pull/25024\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-05 23:11:32 +0200",
        "id" : "d6933d6aedc8a8d5aff646ed3fe71135d5a46fcd",
        "msg" : "realtek: dsa: rtl83xx: check L4 port and VLAN template fields",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl838x.c"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl930x.c"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl931x.c"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl839x.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/iface.uc"
        ],
        "commitId" : "93d975fe9c098e39e19f1248c8eabee2e7c66db8",
        "timestamp" : 1788645823000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/mail",
          "fullName" : "mail"
        },
        "authorEmail" : "mail@david-bauer.net",
        "comment" : "wifi-scripts: iface: set auth_type on unset encryption\u000a\u000aparse_encryption returns leaves config.auth_type unset in case\u000aencryption is unset. However, the owe_transition_iface config option for\u000athe unencrypted network is currently only set in case encryption is\u000aexplicitly set to 'none'.\u000a\u000aThese two should be identical in their behavior. Set the encryption to\u000a\"none\" in case it is unset and do not return. This aligns the behavior\u000aof unset encryption with encryption explicitly set to 'none'.\u000a\u000aSigned-off-by: David Bauer <mail@david-bauer.net>\u000a",
        "date" : "2026-09-06 00:03:43 +0200",
        "id" : "93d975fe9c098e39e19f1248c8eabee2e7c66db8",
        "msg" : "wifi-scripts: iface: set auth_type on unset encryption",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/config/wifi-scripts/files-ucode/usr/share/ucode/wifi/iface.uc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl839x.c"
        ],
        "commitId" : "1be891e4bbccc958ac8f8ff04c55ff1188fb34f5",
        "timestamp" : 1788709386000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: dsa: rtl839x: read PIE rules from the IACL table\u000a\u000artl839x_pie_rule_read() selects table type 2 through RTL8380_TBL_0,\u000athe RTL838x table access block, while its own comment names the IACL\u000atable and the matching rtl839x_pie_rule_write() reaches it through\u000aRTL8390_TBL_0.\u000a\u000aThe two blocks differ in more than their address. RTL8380_TBL_0 drives\u000athe command register at 0x6914, with the execute bit at 15 and the\u000ainverted read/write polarity rtl_table_exec() applies to RTL838x;\u000aRTL8390_TBL_0 uses 0x1190, execute at 16 and normal polarity. On an\u000aRTL839x the reader therefore drives the RTL838x table register at\u000a0x6914 and takes its seventeen words from 0x6918 instead of 0x1194.\u000artl_table_get() also locks the descriptor it is handed, so the reader\u000aholds a different mutex from the one the writer holds and the two do\u000anot serialise against each other.\u000a\u000aNothing reaches this today: .pie_rule_read is populated for RTL838x\u000aand RTL839x but is never invoked through priv->r, so the defect is\u000alatent and no failure has been observed. It is fixed because the\u000areader and the writer have to agree before either becomes reachable.\u000a\u000aCompile-tested on realtek/rtl839x. Not run on hardware, no RTL839x\u000aboard here; the change selects the table the writer already selects.\u000a\u000aAssisted-by: Claude:claude-opus-5\u000aSigned-off-by: Gennaro Cimmino <gcimmino@rayonra.net>\u000aLink: https://github.com/openwrt/openwrt/pull/25051\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-06 17:43:06 +0200",
        "id" : "1be891e4bbccc958ac8f8ff04c55ff1188fb34f5",
        "msg" : "realtek: dsa: rtl839x: read PIE rules from the IACL table",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl839x.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/tc.c"
        ],
        "commitId" : "3d94c1e94216a05b39d5ff085a58b0e7fda408d9",
        "timestamp" : 1788709431000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: dsa: rtl83xx: drop the tc flow hashtable ref before HW teardown\u000a\u000artl83xx_delete_flower() called pie_rule_rm() - which takes pie_mutex -\u000awhile still holding rcu_read_lock(), i.e. it could sleep inside an RCU\u000aread-side critical section.\u000a\u000aRemove the flow from the hashtable and drop the RCU lock first, then tear\u000adown the hardware rule outside the critical section. Propagate the\u000arhashtable_remove_fast() error and return -ENOENT (not -EINVAL) when no\u000aflow matches the cookie.\u000a\u000aAssisted-by: Claude Code (Anthropic Claude Sonnet 5)\u000aSigned-off-by: Mark Abe <github@mab.wien>\u000aLink: https://github.com/openwrt/openwrt/pull/25050\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-06 17:43:51 +0200",
        "id" : "3d94c1e94216a05b39d5ff085a58b0e7fda408d9",
        "msg" : "realtek: dsa: rtl83xx: drop the tc flow hashtable ref before HW teardown",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/tc.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl930x.c",
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl839x.c",
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl838x.c",
          "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl931x.c"
        ],
        "commitId" : "c197aadfcc0e085b92d9c03216546e55e8132f57",
        "timestamp" : 1788709431000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
          "fullName" : "markus.stockhausen"
        },
        "authorEmail" : "markus.stockhausen@gmx.de",
        "comment" : "realtek: dsa: rtl83xx: verify the MAC template against the mask, not the value\u000a\u000a*_pie_verify_template() gates the SMAC / DMAC template requirement on\u000aether_addr_to_u64(pr->smac) / pr->dmac, i.e. on the match value, while\u000aevery neighbouring field (sip_m, dip_m, ethertype_m, itag_m, sport_m,\u000adport_m) is gated on its mask. A rule matching the all-zero MAC -\u000a\"flower dst_mac 00:00:00:00:00:00\", full mask, zero value - then passes\u000averification against a template that has no DMAC field and is programmed\u000ato match every frame instead of just that address.\u000a\u000aGate on smac_m / dmac_m like the other fields. Pre-existing in all four\u000a*_pie_verify_template() implementations; only rtl930x was exercised\u000a(tc cls_flower offload), the other three are changed for consistency.\u000a\u000aAssisted-by: Claude Code (Anthropic Claude Sonnet 5)\u000aSigned-off-by: Mark Abe <github@mab.wien>\u000aLink: https://github.com/openwrt/openwrt/pull/25050\u000aSigned-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>\u000a",
        "date" : "2026-09-06 17:43:51 +0200",
        "id" : "c197aadfcc0e085b92d9c03216546e55e8132f57",
        "msg" : "realtek: dsa: rtl83xx: verify the MAC template against the mask, not the value",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl930x.c"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl839x.c"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl931x.c"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/realtek/files-6.18/drivers/net/dsa/rtl83xx/rtl838x.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/generic/pending-6.18/897-02-net-pse-pd-add-LED-trigger-support.patch",
          "target/linux/generic/pending-6.18/896-03-net-phy-own-phydev-psec-via-PSE-notifier-and-remove-.patch",
          "target/linux/generic/pending-6.18/897-01-net-pse-pd-add-devm_pse_poll_helper.patch"
        ],
        "commitId" : "e87bdafa704f1bd3238046f2a947391583413458",
        "timestamp" : 1788710617000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "generic: pse-pd: rework the phydev->psec notifier patch to fix rtnl deadlock\u000a\u000aThe notifier patch attached phydev->psec under rtnl_lock() inside\u000aphy_device_register(). Drivers that register their MDIO bus from\u000ando_init() (like the lantiq etop) already hold rtnl at that point, so the\u000aattach tried to take rtnl a second time and deadlocked on probe.\u000aAleksander hit this on lantiq arx100.\u000a\u000aRework 896-03 to use a dedicated mutex instead of rtnl for the psec\u000aattach, the notifier walks and the ethtool PSE paths, so there is no rtnl\u000arecursion any more.\u000a\u000aThe mutex lives in pse_core.c rather than in phylib: net/ethtool is always\u000abuilt into vmlinux while PHYLIB is tristate, so net/ethtool/pse-pd.c must\u000anot call a phylib export or CONFIG_PHYLIB=m fails to link. PSE_CONTROLLER\u000ais bool, so pse_core is either in vmlinux or absent and every config can\u000areach pse_phy_lock()/pse_phy_unlock(); !PSE_CONTROLLER gets no-op stubs in\u000apse.h.\u000a\u000aphy_device_register_locked() is gone with it. It only existed because the\u000aattach took rtnl, and was identical to phy_device_register() apart from an\u000aASSERT_RTNL(), so sfp.c calls phy_device_register() again and\u000ainclude/linux/phy.h stays untouched.\u000a\u000aAlso refresh 897-01 and 897-02, whose hunks shift.\u000a\u000aTested-by: Aleksander Jan Bajkowski <olek2@wp.pl>\u000aSigned-off-by: Carlo Szelinsky <github@szelinsky.de>\u000aLink: https://github.com/openwrt/openwrt/pull/24945\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-09-06 18:03:37 +0200",
        "id" : "e87bdafa704f1bd3238046f2a947391583413458",
        "msg" : "generic: pse-pd: rework the phydev->psec notifier patch to fix rtnl deadlock",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/897-02-net-pse-pd-add-LED-trigger-support.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/896-03-net-phy-own-phydev-psec-via-PSE-notifier-and-remove-.patch"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/generic/pending-6.18/897-01-net-pse-pd-add-devm_pse_poll_helper.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/generic/hack-6.18/790-net-phy-skip-MMD-30-for-RTL8221B-when-reading-C45-PH.patch"
        ],
        "commitId" : "88dcd8c303b688b344c8f22c24df6a49f6b6b707",
        "timestamp" : 1788710770000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "kernel: add hack to avoid killing RTL8221B PHYs\u000a\u000aRTL8221B unfortunately suffers from a issue where reading registers from\u000aMMD 30 can break the PHY. Once it is in the broken state, recovery is\u000aonly possible by hardware reset.\u000a\u000aAdd a hack which prevents the kernel from reading MMD 30 while probing\u000afor PHYs when a RTL8221B is detected, based on the ID from MMD 1.\u000a\u000aFixes: https://github.com/openwrt/openwrt/issues/22140\u000aSigned-off-by: Jan Hoffmann <jan@3e8.eu>\u000aLink: https://github.com/openwrt/openwrt/pull/25017\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-09-06 18:06:10 +0200",
        "id" : "88dcd8c303b688b344c8f22c24df6a49f6b6b707",
        "msg" : "kernel: add hack to avoid killing RTL8221B PHYs",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/generic/hack-6.18/790-net-phy-skip-MMD-30-for-RTL8221B-when-reading-C45-PH.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/kernel/mac80211/patches/ath11k/951-wifi-ath11k-disable-interrupts-during-firmware-crash-recovery.patch",
          "package/kernel/mac80211/patches/ath11k/950-wifi-ath11k-implement-CE-interrupt-enable-disable-for-AHB.patch",
          "package/kernel/mac80211/Makefile"
        ],
        "commitId" : "3ec9ced6e1fa1a17803ba2da55fe35a6ba5486cc",
        "timestamp" : 1788714058000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "mac80211: ath11k: stop a firmware crash from rebooting the SoC on AHB\u000a\u000aOn IPQ8074 a firmware assert reboots the SoC.\u000aath11k_core_reconfigure_on_crash() frees the data path and clears the\u000aring list while the DP NAPI is still polling, so the NAPI services a ring\u000awhose address pointer has just been cleared:\u000a\u000a  Unable to handle kernel read from unreadable memory at virtual address 0\u000a  pc : ath11k_hal_srng_access_begin+0xc/0x60 [ath11k]\u000a  Call trace:\u000a   ath11k_hal_srng_access_begin+0xc/0x60 [ath11k] (P)\u000a   ath11k_dp_rx_process_mon_rings+0xa0/0x5d4 [ath11k]\u000a   ath11k_dp_service_srng+0x1f4/0x348 [ath11k]\u000a   ath11k_ahb_ext_grp_napi_poll+0x34/0xd4 [ath11k_ahb]\u000a\u000a951 disables the interrupts on the crash path again. 950 is its\u000aprerequisite: it wires up the CE interrupt ops that\u000aath11k_ahb_hif_ops_ipq8074 never set, which leaves the CE half of the\u000aquiesce a no-op on AHB. Both are in ath-next as commit a7ab5c835e42\u000a(\"wifi: ath11k: implement CE interrupt enable/disable for AHB\") and\u000acommit f7a74e131d3f (\"wifi: ath11k: disable interrupts during firmware\u000acrash recovery\"), and are carried here verbatim.\u000a\u000aTested on a Xiaomi AX3600 (IPQ8074 hw2.0) with the debugfs\u000asimulate_fw_crash assert trigger: one assert panics and reboots the SoC\u000abefore, five asserts recover after.\u000a\u000aAssisted-by: Claude:claude-opus-5\u000aSigned-off-by: Julius Bairaktaris <julius@bairaktaris.de>\u000aLink: https://github.com/openwrt/openwrt/pull/24578\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-06 19:00:58 +0200",
        "id" : "3ec9ced6e1fa1a17803ba2da55fe35a6ba5486cc",
        "msg" : "mac80211: ath11k: stop a firmware crash from rebooting the SoC on AHB",
        "paths" : [
          {
            "editType" : "add",
            "file" : "package/kernel/mac80211/patches/ath11k/950-wifi-ath11k-implement-CE-interrupt-enable-disable-for-AHB.patch"
          },
          {
            "editType" : "add",
            "file" : "package/kernel/mac80211/patches/ath11k/951-wifi-ath11k-disable-interrupts-during-firmware-crash-recovery.patch"
          },
          {
            "editType" : "edit",
            "file" : "package/kernel/mac80211/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/airoha/an7583/config-6.18",
          "target/linux/airoha/an7581/config-6.18"
        ],
        "commitId" : "e4e7c4f70c0041b4436d8e2ce048114e83b52d03",
        "timestamp" : 1788715771000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "airoha: disable CONFIG_FW_LOADER_USER_HELPER_FALLBACK\u000a\u000aNET_AIROHA_NPU is built-in and probes before rootfs is mounted, so\u000arequest_firmware() correctly fails with -ENOENT. The driver maps that\u000ato -EPROBE_DEFER and succeeds once /lib/firmware is available.\u000a\u000aWith CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y (inherited from generic),\u000aa missing firmware instead blocks ~60s on the sysfs userspace helper\u000aand returns -ETIMEDOUT. That is not mapped to -EPROBE_DEFER, so NPU\u000aprobe fails permanently:\u000a\u000a  Direct firmware load for airoha/en7581_MT7996_npu_rv32.bin failed with error -2\u000a  Falling back to sysfs fallback for: airoha/en7581_MT7996_npu_rv32.bin\u000a  error -ETIMEDOUT: failed to run npu firmware\u000a  probe with driver airoha-npu failed with error -110\u000a\u000aThis shows up on official / firmware-selector images because\u000aCONFIG_ALL_KMODS=y builds kmod-leds-lp55xx-common, which implies\u000aFW_LOADER_USER_HELPER and then FALLBACK from generic takes effect.\u000a\u000aMatch bcm53xx/gemini/layerscape: keep FW_LOADER_USER_HELPER (from\u000ageneric) and unset only FALLBACK on an7581/an7583. Unsetting both is\u000anot refresh-safe — FALLBACK depends on USER_HELPER, so\u000amake target/linux/refresh drops the FALLBACK line when USER_HELPER is\u000aoff, and ALL_KMODS builds then reintroduce the -ETIMEDOUT failure.\u000a\u000aWith FALLBACK disabled, early firmware misses keep returning -ENOENT\u000aand deferred probe can load the NPU firmware after rootfs.\u000a\u000aFixes: https://github.com/openwrt/openwrt/issues/22709\u000aSupersedes: https://github.com/openwrt/openwrt/pull/22697\u000aSigned-off-by: Daniel Pawlik <pawlik.dan@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/24571\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-06 19:29:31 +0200",
        "id" : "e4e7c4f70c0041b4436d8e2ce048114e83b52d03",
        "msg" : "airoha: disable CONFIG_FW_LOADER_USER_HELPER_FALLBACK",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/an7583/config-6.18"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/airoha/an7581/config-6.18"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/generic/backport-6.18/786-v7.3-net-phy-air_en8811h-move-LED-GPIO-configuration-to-config_init.patch"
        ],
        "commitId" : "928f5c5ab860779801e36b036c9c0b319230de41",
        "timestamp" : 1788716107000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "kernel: 6.18: fix EN8811H PHY LED GPIO not surviving MCU restart\u000a\u000aCurrently, the LAN1 LED usually doesn't work on Nokia XG-040G-MD and\u000aNokia XG-040G-MF devices: it lights up right after boot but goes dark\u000aagain as soon as the link renegotiates. Both boards wire LAN1 to a\u000adiscrete Airoha EN8811H PHY, whose LED GPIO pins are only ever\u000aconfigured as outputs once, in en8811h_probe(); every later call to\u000aen8811h_config_init() restarts the PHY's MD32 MCU, which resets that\u000aGPIO configuration back to inputs.\u000a\u000aBackport the fix that moves the GPIO-as-output configuration into\u000aen8811h_config_init() so it is reapplied on every MCU restart. This is\u000aa fix to the generic Linux PHY driver (drivers/net/phy/air_en8811h.c),\u000anot something specific to the airoha target: other targets ship the\u000asame PHY via kmod-phy-airoha-en8811h (e.g. mediatek/filogic boards),\u000aso it belongs in target/linux/generic/backport-6.18/ rather than under\u000atarget/linux/airoha/.\u000a\u000aMerged upstream into net.git by Paolo Abeni as commit 03b4702fc5e3\u000a(\"net: phy: air_en8811h: move LED GPIO configuration to config_init\"),\u000aexpected in v7.3. The patch is functionally identical to that commit,\u000arefreshed into OpenWrt's quilt form.\u000a\u000aSuggested-by: Mikhail Zhilkin <csharper2005@gmail.com>\u000aSigned-off-by: Vitaliy Sochnev <sochnev.v.74@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/24853\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-06 19:35:07 +0200",
        "id" : "928f5c5ab860779801e36b036c9c0b319230de41",
        "msg" : "kernel: 6.18: fix EN8811H PHY LED GPIO not surviving MCU restart",
        "paths" : [
          {
            "editType" : "add",
            "file" : "target/linux/generic/backport-6.18/786-v7.3-net-phy-air_en8811h-move-LED-GPIO-configuration-to-config_init.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/cmake/Makefile"
        ],
        "commitId" : "50258d2078d3b3c4fe127f72c8d804fa498c62d2",
        "timestamp" : 1788718129000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "tools/cmake: update to version 4.4.3\u000a\u000aUpdate cmake to version 4.4.3.\u000a(No need for patch changes)\u000a\u000aSigned-off-by: Hannu Nyman <hannu.nyman@iki.fi>\u000aLink: https://github.com/openwrt/openwrt/pull/25043\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-06 20:08:49 +0200",
        "id" : "50258d2078d3b3c4fe127f72c8d804fa498c62d2",
        "msg" : "tools/cmake: update to version 4.4.3",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/cmake/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/kernel/nat46/Makefile"
        ],
        "commitId" : "76506c10944cb43df7d7b884c9d4504e76d9a9a7",
        "timestamp" : 1788719170000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "nat46: pass NAT46_VERSION through CFLAGS_MODULE\u000a\u000akbuild dropped EXTRA_CFLAGS in 6.15 (e966ad0edd00, \"kbuild: remove\u000aEXTRA_*FLAGS support\"), so on 6.18 the define never reaches the\u000acompiler and the module logs \"nat46: module (version unknown) loaded\".\u000aCFLAGS_MODULE is read by both 6.12 and 6.18.\u000a\u000aAssisted-by: Claude:claude-fable-5-1\u000aSigned-off-by: Julius Bairaktaris <julius@bairaktaris.de>\u000aLink: https://github.com/openwrt/openwrt/pull/25057\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-06 20:26:10 +0200",
        "id" : "76506c10944cb43df7d7b884c9d4504e76d9a9a7",
        "msg" : "nat46: pass NAT46_VERSION through CFLAGS_MODULE",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/kernel/nat46/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "target/linux/qualcommax/files/drivers/net/ethernet/qualcomm/qca_ppe_main.c"
        ],
        "commitId" : "f1a3f07139853ebce2dad2f1fb17fc91a1e15763",
        "timestamp" : 1788719248000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "qualcommax: qca_ppe: accept a multicast delete that is already done\u000a\u000aThe bridge drops a port's multicast entries on every leave, STP\u000atransition and membership expiry, per port and without tracking which\u000aentries this switch programmed. A delete therefore arrives both for\u000aentries that were never added - the add path runs only for ports in an\u000aoffloaded bridge - and for entries an earlier delete already emptied.\u000a\u000appe_fdb_lookup() reports those as -ENOENT and the driver returned it.\u000aNothing acts on that return: the object is deleted through switchdev's\u000adeferred queue, where switchdev_port_obj_del_deferred() turns any error\u000aother than -EOPNOTSUPP into a log line and discards it. The error only\u000aproduced kernel noise for a state that already matched the request. A\u000aport that is not in the entry's portmap is the same case one step\u000afurther in.\u000a\u000aReturn success for both. The path that drops an entry once its last\u000amember outside the CPU port leaves is unchanged.\u000a\u000aMeasured on an ipq8074 board with multicast snooping enabled, one group\u000ajoined by lan1, lan2 and lan3, and the three ports then removed from\u000athe bridge in turn:\u000a\u000a  qca-ppe 3a000000.ppe lan3: Failed to del Port Multicast Database\u000a  entry (object id=2) with error: -ENOENT (-2).\u000a\u000atwice before this change and not at all after it, the ports returning\u000ato the bridge either way.\u000a\u000aAssisted-by: Claude:claude-opus-5\u000aSigned-off-by: Julius Bairaktaris <julius@bairaktaris.de>\u000aLink: https://github.com/openwrt/openwrt/pull/24968\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-06 20:27:28 +0200",
        "id" : "f1a3f07139853ebce2dad2f1fb17fc91a1e15763",
        "msg" : "qualcommax: qca_ppe: accept a multicast delete that is already done",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "target/linux/qualcommax/files/drivers/net/ethernet/qualcomm/qca_ppe_main.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/kernel/mac80211/patches/ath12k/200-Revert-wifi-ath12k-convert-tasklet-to-BH-workqueue-f.patch"
        ],
        "commitId" : "4ab78459bd8d41d3e4af93ce2c8babd4f1f533c7",
        "timestamp" : 1788721070000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "mac80211: ath12k: drop the BH workqueue revert\u000a\u000aPatch 200 reverted the ath12k conversion from tasklets to BH workqueues.\u000aIt arrived with 88f4c32060 (\"mac80211: update to version 6.14.11\") in May\u000a2025, when main still built kernel 6.6 on 26 targets; BH workqueues only\u000aexist from 6.9, so the revert was doing real work then.\u000a\u000aMain now builds 6.12 and 6.18. Both provide system_bh_wq and from_work(),\u000aso there is nothing left for the revert to paper over.\u000a\u000aIt also leaves the driver inconsistent. backports 7.2 uses intr_wq in\u000ace.h, pci.c and ahb.c alike, and patch 200 converts only the first two\u000aback to tasklets -- ahb.c was added to the driver after the conversion\u000alanded and never got the same treatment. Building with ATH12K_AHB enabled\u000atherefore fails.\u000a\u000aAgainst pristine backports 7.2 the mac80211 patch series applies 151/151\u000awith this patch removed, and no intr_tq reference survives in ath12k. An\u000aipq53xx build with ATH12K_AHB enabled links ahb.o cleanly, and the driver\u000aprobes an on-chip radio on real hardware.\u000a\u000aBump PKG_RELEASE so existing installs pick up the rebuilt module: it feeds\u000aABI_VERSION for the kmod packages.\u000a\u000aSigned-off-by: Hideo Sumi <hideo.sumi@mugops.com>\u000aLink: https://github.com/openwrt/openwrt/pull/24978\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-06 20:57:50 +0200",
        "id" : "4ab78459bd8d41d3e4af93ce2c8babd4f1f533c7",
        "msg" : "mac80211: ath12k: drop the BH workqueue revert",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "package/kernel/mac80211/patches/ath12k/200-Revert-wifi-ath12k-convert-tasklet-to-BH-workqueue-f.patch"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/boot/uboot-rockchip/Makefile",
          "target/linux/rockchip/image/armv8.mk"
        ],
        "commitId" : "e36c1c0caf018a7e476e40711d9fbf3c13a8eae1",
        "timestamp" : 1788721977000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "uboot-rockchip: switch to dedicated profile for NanoPi R76S\u000a\u000aSupport for NanoPi R76S has been merged upstream u-boot, so use\u000ait instead of the generic profile.\u000a\u000aSigned-off-by: Tianling Shen <cnsztl@immortalwrt.org>\u000aLink: https://github.com/openwrt/openwrt/pull/25047\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-06 21:12:57 +0200",
        "id" : "e36c1c0caf018a7e476e40711d9fbf3c13a8eae1",
        "msg" : "uboot-rockchip: switch to dedicated profile for NanoPi R76S",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/boot/uboot-rockchip/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "target/linux/rockchip/image/armv8.mk"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/kernel/rtl8812au-ct/patches/120-cfg80211-7.2.patch",
          "package/kernel/rtl8812au-ct/Makefile"
        ],
        "commitId" : "3c1066f412f672d73345c05963437f4ce5e7856b",
        "timestamp" : 1788722178000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "rtl8812au-ct: fix build with mac80211 7.2\u000a\u000amac80211 7.2 changes cfg80211 key and station operations to take a\u000awireless_dev instead of a net_device. It also updates station notification\u000ahelpers and the remain-on-channel callback.\u000a\u000aAdapt the driver to the new API and bump the package release.\u000a\u000aSigned-off-by: Alexander Zaguzin <st7105@gmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25020\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-06 21:16:18 +0200",
        "id" : "3c1066f412f672d73345c05963437f4ce5e7856b",
        "msg" : "rtl8812au-ct: fix build with mac80211 7.2",
        "paths" : [
          {
            "editType" : "add",
            "file" : "package/kernel/rtl8812au-ct/patches/120-cfg80211-7.2.patch"
          },
          {
            "editType" : "edit",
            "file" : "package/kernel/rtl8812au-ct/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/config/netifd/files/usr/libexec/network/packet-steering.uc",
          "package/network/config/netifd/Makefile"
        ],
        "commitId" : "e801f59cff6bb65a4d9555ad995d9ad9fca9049f",
        "timestamp" : 1788722749000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
          "fullName" : "robimarko"
        },
        "authorEmail" : "robimarko@gmail.com",
        "comment" : "netifd: avoid pinning mt76 TX worker to NAPI CPU\u000a\u000aThe packet steering script treats both threaded NAPI and the mt76 TX\u000aworker as tasks belonging to the same wireless device. assign_dev_cpu()\u000athen assigns all of these tasks to the same CPU.\u000a\u000aThis unnecessarily restricts the mt76 TX worker to the NAPI CPU even\u000athough its affinity does not otherwise need to be constrained.\u000a\u000aOn MT7988A with MT7996 this caused the TX worker to share CPU3 with the\u000aNAPI thread. Moving it to another CPU increased measured TX throughput\u000afrom 1.45 Gbit/s to 2.09 Gbit/s.\u000a\u000aStop matching the mt76 TX worker in the packet steering script. This\u000aleaves its CPU affinity unrestricted and lets the scheduler place it\u000amore appropriately.\u000a\u000aFixes: https://github.com/openwrt/openwrt/issues/24697\u000aSigned-off-by: Gary Dotzler <geldot@protonmail.com>\u000aLink: https://github.com/openwrt/openwrt/pull/25016\u000aSigned-off-by: Robert Marko <robimarko@gmail.com>\u000a",
        "date" : "2026-09-06 21:25:49 +0200",
        "id" : "e801f59cff6bb65a4d9555ad995d9ad9fca9049f",
        "msg" : "netifd: avoid pinning mt76 TX worker to NAPI CPU",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/config/netifd/files/usr/libexec/network/packet-steering.uc"
          },
          {
            "editType" : "edit",
            "file" : "package/network/config/netifd/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "package/network/services/dropbear/Makefile",
          "package/network/services/dropbear/Config.in"
        ],
        "commitId" : "fe4bb132561130e85cc87f27691e55ca9ac5cd20",
        "timestamp" : 1788723090000,
        "author" : {
          "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
          "fullName" : "jelonek.jonas"
        },
        "authorEmail" : "jelonek.jonas@gmail.com",
        "comment" : "dropbear: enable ECDSA by default for backward compatibility\u000a\u000aEnable ECDSA by default to:\u000a- Support login with existing ECDSA keys.\u000a- Ensure compatibility with legacy YubiKey devices (e.g., firmware 5.4)\u000a  and PIV-based SSH keys (RSA/ECDSA only).\u000a- Maintain access until Ed25519 adoption is widespread.\u000a\u000aDefault 'y' for all builds except those with SMALL_FLASH.\u000aThis activates:\u000a- DROPBEAR_ECC_256 (via DROPBEAR_ECDH || DROPBEAR_ECDSA), enabling\u000a  NIST-curve code for non-SMALL_FLASH builds.\u000a- DROPBEAR_SK_ECDSA (default y), offering\u000a  sk-ecdsa-sha2-nistp256@openssh.com by default.\u000a\u000aNote: Increases only binary size for non-SMALL_FLASH targets.\u000a\u000aSigned-off-by: Florian Eckert <fe@dev.tdt.de>\u000aLink: https://github.com/openwrt/openwrt/pull/24685\u000aSigned-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>\u000a",
        "date" : "2026-09-06 19:31:30 +0000",
        "id" : "fe4bb132561130e85cc87f27691e55ca9ac5cd20",
        "msg" : "dropbear: enable ECDSA by default for backward compatibility",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "package/network/services/dropbear/Config.in"
          },
          {
            "editType" : "edit",
            "file" : "package/network/services/dropbear/Makefile"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/mail",
      "fullName" : "mail"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/daniel",
      "fullName" : "daniel"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/hauke",
      "fullName" : "hauke"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/jelonek.jonas",
      "fullName" : "jelonek.jonas"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/markus.stockhausen",
      "fullName" : "markus.stockhausen"
    },
    {
      "absoluteUrl" : "https://taiha.net/jenkins/user/robimarko",
      "fullName" : "robimarko"
    }
  ]
}