openwrt/staging/stintel.git
2 weeks agokernel: mtdsplit_uimage: use -ENOENT instead of -ENODEV
Christian Marangi [Thu, 20 Nov 2025 22:30:32 +0000 (23:30 +0100)]
kernel: mtdsplit_uimage: use -ENOENT instead of -ENODEV

New linux version will check the return code of parser on subpartitions.
The only valid case for skipping a parser with an error is -ENOENT.

Change the relevant entry to -ENOENT.

Signed-off-by: Christian Marangi <[email protected]>
2 weeks agoRevert "kernel: mtdsplit_uimage: return 0 if not fatal"
Christian Marangi [Thu, 20 Nov 2025 22:28:44 +0000 (23:28 +0100)]
Revert "kernel: mtdsplit_uimage: return 0 if not fatal"

This reverts commit a51359aafde18b7e809842b4b4c31c78f5fa0c51.

Skipping parser for subpartition will be handled now with -ENOENT.

Signed-off-by: Christian Marangi <[email protected]>
2 weeks agokernel: mtdsplit_h3c_vfs: use -ENOENT instead of -ENODEV
Christian Marangi [Thu, 20 Nov 2025 22:24:01 +0000 (23:24 +0100)]
kernel: mtdsplit_h3c_vfs: use -ENOENT instead of -ENODEV

New linux version will check the return code of parser on subpartitions.
The only valid case for skipping a parser with an error is -ENOENT.

Change the relevant entry to -ENOENT.

Signed-off-by: Christian Marangi <[email protected]>
2 weeks agoRevert "kernel: mtdsplit_h3c_vfs: return 0 for non-fatal errors"
Christian Marangi [Thu, 20 Nov 2025 22:22:30 +0000 (23:22 +0100)]
Revert "kernel: mtdsplit_h3c_vfs: return 0 for non-fatal errors"

This reverts commit 6fa1775348d5415129db12c05a993c8571c867c2.

Skipping parser for subpartition will be handled now with -ENOENT.

Signed-off-by: Christian Marangi <[email protected]>
2 weeks agokernel: generic: mtdsplit_seil: use -ENOENT instead of -ENODEV
Christian Marangi [Thu, 20 Nov 2025 22:19:24 +0000 (23:19 +0100)]
kernel: generic: mtdsplit_seil: use -ENOENT instead of -ENODEV

New linux version will check the return code of parser on subpartitions.
The only valid case for skipping a parser with an error is -ENOENT.

Change the relevant entry to -ENOENT.

Signed-off-by: Christian Marangi <[email protected]>
2 weeks agoRevert "kernel: generic: mtdsplit_seil: return 0 instead of -ENODEV"
Christian Marangi [Thu, 20 Nov 2025 22:18:08 +0000 (23:18 +0100)]
Revert "kernel: generic: mtdsplit_seil: return 0 instead of -ENODEV"

This reverts commit 5aab294726f35d8515945484cbee951655cdfe90.

Skipping parser for subpartition will be handled now with -ENOENT.

Signed-off-by: Christian Marangi <[email protected]>
2 weeks agomediatek: fix ubi size for zbtlink zbt z8102ax v2
Tianling Shen [Thu, 13 Nov 2025 13:41:30 +0000 (21:41 +0800)]
mediatek: fix ubi size for zbtlink zbt z8102ax v2

According to the factory uboot and firmware[1], the ubi size is set
to 512 MiB (0x20000000) and it exceeds the size of the flash, after
that the uboot and kernel resizes it to 114.5 MiB (0x7280000) instead
of 114.125 MiB (0x7220000). The mismatch of the ubi size causes
kernel fails to read ubi volumes and throws panic.

Trim whitespaces while at it.

1. https://github.com/immortalwrt/immortalwrt/issues/2123#issuecomment-3523744128

Fixes: c908fc7d9591 ("mediatek: add support for Zbtlink ZBT-Z8102AX v2")
Signed-off-by: Tianling Shen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20769
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agomediatek: add Zyxel NWA90AX PRO model identifier
James Davis [Thu, 13 Nov 2025 15:51:49 +0000 (08:51 -0700)]
mediatek: add Zyxel NWA90AX PRO model identifier

Adds the 81E1 model identifier for the Zyxel NWA90AX Pro to allow factory flashing to these devices.

Device tree output of the latest OEM firmware upgrade
-----------------------------------------------------
/dts-v1/;

/ {
        timestamp = <0x6860779e>;
        description = [00];
        compat-models = [81 e1 ff ff ff ff ff ff ff ff];
        fw_version = "7.10(###.3)";

        images {

Device tree of the OpenWRT factory firmware after change
--------------------------------------------------------
/dts-v1/;

/ {
        timestamp = <0x68f513d9>;
        description = "Zyxel FIT (Flattened Image Tree)";
        compat-models = [80 e1 81 e1 ff ff ff ff ff ff];
        fw_version = "9.99(###.1)";
        address-cells = <0x01>;

        images {

Fixes: e34e874a11f0 ("mediatek: add support for Zyxel NWA90AX PRO")
Signed-off-by: James Davis <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20759
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agomediatek: add support for ipTIME AX3000SE
Donghyun Ko [Wed, 12 Nov 2025 20:02:47 +0000 (05:02 +0900)]
mediatek: add support for ipTIME AX3000SE

Specification
-------------
- SoC       : MediaTek MT7981BA dual-core ARM Cortex-A53 1.3GHz
- RAM       : DDR3 256Mbytes, ESMT M15T2G16128A
- Flash     : 128Mbytes NAND Flash, ESMT F50L1G41LB
- WLAN      : MediaTek MT7976CN dual-band Wi-Fi 6
  - 2.4GHz  : b/g/n/ax, MU-MIMO
  - 5GHz    : a/n/ac/ax, MU-MIMO
- Ethernet  : MediaTek MT7531AE
  - LAN     : 10/100/1000 Mbps x4
  - WAN     : 10/100/1000 Mbps x1
- UART      : 1x4 pin header hole on PCB
  - 3.3V, RX, GND, TX (115200, 8N1)
- Buttons   : WPS, Reset
- LEDs      : 1x CPU (Amber/Blue)
              1x Wi-Fi (Amber/Blue)
              1x WAN activity (Amber/Blue)
              4x LAN activity (Amber/Blue)
- Power     : 12VDC, 1A (Center positive polarity)

Note: The LED color is amber or blue, depending on your router's color
(black/white).

MAC address
-----------
+-----------+-------------------+-----------+
| Interface | MAC               | Algorithm |
+-----------+-------------------+-----------+
| WLAN 2.4G | B0:38:6C:xx:xx:xx | label     |
| WLAN 5G   | B2:38:6C:4x:xx:xx |           |
| WAN       | B0:38:6C:xx:xx:xx | label + 1 |
| LAN       | B0:38:6C:xx:xx:xx | label + 3 |
+-----------+-------------------+-----------+
The WLAN 2.4G MAC address was found in 'Factory' partition, 0x4

Installation
------------
1. Download the OEM recovery software (ipTIME Firmware Wizard (11ac))
   from the manufacturer's website
2. Download the *squashfs-factory.bin file from the OpenWrt website
3. Press a reset button, and power up the router (keep pressing the reset button)
4. Wait more than 10 seconds until the CPU LED stop blinking
5. Connect the router (LAN port) to the PC
6. Run the OEM recovery software and follow the instructions
7. Select the *squashfs-factory.bin file during the router recovery process
8. Wait for the router to boot from *squashfs-factory.bin

Limitation: Triggering the WLAN LED for activity on both phy0 (2.4GHz) and phy1 (5GHz)
----------
Currently, the UCI doesn't support triggering a single LED for activity
on multiple WLAN interfaces. As a temporary workaround, the LED is
configured to only indicate activity on `phy1`. If you wish to monitor
`phy0` instead, you must change the device from `phy1-ap0` to `phy0-ap0`
in the LuCI LED configuration.

Signed-off-by: Donghyun Ko <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20771
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agouboot-airoha: update to v2025.10
Mikhail Kshevetskiy [Mon, 13 Oct 2025 04:43:31 +0000 (07:43 +0300)]
uboot-airoha: update to v2025.10

Changes:
 * removed upstreamed patches,
 * rebased local patches,
 * fix en7581_evb/an7583_evb booting issues
 * enable position independent code

Signed-off-by: Mikhail Kshevetskiy <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20400
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agoairoha: spi: update en7523 airoha snfi patches & dts
Mikhail Kshevetskiy [Sun, 12 Oct 2025 12:00:13 +0000 (15:00 +0300)]
airoha: spi: update en7523 airoha snfi patches & dts

Use latest patch version

Signed-off-by: Mikhail Kshevetskiy <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20400
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agoairoha: an7581: enable NPU by default
Ziyang Huang [Sun, 19 Oct 2025 12:26:32 +0000 (20:26 +0800)]
airoha: an7581: enable NPU by default

There is no reason not to do this.

Use the following commands to enable hardware offloading:
    uci set firewall.@defaults[0].flow_offloading='1'
    uci set firewall.@defaults[0].flow_offloading_hw='1'
    uci commit

Signed-off-by: Ziyang Huang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20484
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agoairoha: fix PHY_DETACH_NO_HW_RESET patch panic
Balázs Triszka [Tue, 11 Nov 2025 23:00:27 +0000 (00:00 +0100)]
airoha: fix PHY_DETACH_NO_HW_RESET patch panic

Fix kernel panic caused by downstream PHY_DETACH_NO_HW_RESET patch.

[   20.994001] airoha_eth 1fb50000.ethernet wan: validation of usxgmii with support 00,00000000,00000000,00006000 and advertisement 00,00000000,00000000,00006000 failed: -EINVAL
[   21.058106] Unable to handle kernel access to user memory outside uaccess routines at virtual address 00000000000000b8
[   21.068879] Mem abort info:
[   21.071684]   ESR = 0x0000000096000005
[   21.075436]   EC = 0x25: DABT (current EL), IL = 32 bits
[   21.080790]   SET = 0, FnV = 0
[   21.083854]   EA = 0, S1PTW = 0
[   21.086997]   FSC = 0x05: level 1 translation fault
[   21.091931] Data abort info:
[   21.094829]   ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000
[   21.100359]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0
[   21.105419]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
[   21.110762] user pgtable: 4k pages, 39-bit VAs, pgdp=0000000091bc8000
[   21.117218] [00000000000000b8] pgd=0800000084ee9003, p4d=0800000084ee9003, pud=0800000084ee9003, pmd=0000000000000000
[   21.127892] Internal error: Oops: 0000000096000005 [#1] SMP
[   21.133483] Modules linked in: pppoe ppp_async nft_fib_inet nf_flow_table_inet pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_numgen nft_nat nft_masq nfte
[   21.191941] CPU: 3 UID: 0 PID: 1882 Comm: netifd Tainted: G           O       6.12.57 #0
[   21.200046] Tainted: [O]=OOT_MODULE
[   21.203534] Hardware name: Gemtek W1700K (DT)
[   21.207892] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[   21.214861] pc : phy_detach+0xe8/0x194
[   21.218628] lr : phy_detach+0xe4/0x194
[   21.222387] sp : ffffffc0823ebae0
[   21.225702] x29: ffffffc0823ebae0 x28: ffffff8005451c00 x27: 0000000000000000
[   21.232846] x26: 0000000000000000 x25: 0000000000001003 x24: ffffffc080cf8240
[   21.239990] x23: 0000000000001002 x22: ffffff807fc527f8 x21: ffffffc080c93318
[   21.247125] x20: ffffff8001cfc000 x19: ffffff80036f7000 x18: ffffff8012cde323
[   21.254269] x17: 303a302d30333537 x16: 000000000000000e x15: 0000005139b64de4
[   21.261413] x14: 0000000000000001 x13: ffffff80020b46c0 x12: 0000000000000001
[   21.268550] x11: ffffff80020b46c0 x10: ffffff8005451cc0 x9 : ffffff807dbf5200
[   21.275694] x8 : ffffff80020b46c0 x7 : ffffff80010a8ed0 x6 : 0000000000000000
[   21.282838] x5 : 00000000000013f8 x4 : 0000000000000000 x3 : ffffff8005451c00
[   21.289983] x2 : 0000000000000000 x1 : ffffff8005451c00 x0 : 0000000000000000
[   21.297128] Call trace:
[   21.299575]  phy_detach+0xe8/0x194
[   21.302988]  phylink_fwnode_phy_connect+0x194/0x1c0
[   21.307874]  phylink_of_phy_connect+0x18/0x20
[   21.312248]  airoha_dev_open+0x44/0x2b0
[   21.316094]  __dev_open+0xe8/0x15c
[   21.319505]  __dev_change_flags+0x154/0x1c0
[   21.323698]  dev_change_flags+0x20/0x64
[   21.327541]  dev_ifsioc+0x28c/0x444
[   21.331032]  dev_ioctl+0x290/0x4b8
[   21.334434]  sock_ioctl+0x31c/0x444
[   21.337923]  __arm64_sys_ioctl+0x354/0xe60
[   21.342020]  invoke_syscall.constprop.0+0x58/0xec
[   21.346725]  do_el0_svc+0x3c/0xd4
[   21.350041]  el0_svc+0x18/0x60
[   21.353097]  el0t_64_sync_handler+0x118/0x124
[   21.357455]  el0t_64_sync+0x150/0x154

Make sure the phydev have a driver before asserting a signal or we would
dereference a NULL address.

Signed-off-by: Balázs Triszka <[email protected]>
[ improve commit description ]
Link: https://github.com/openwrt/openwrt/pull/20740
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agoairoha: backport and fix pinctrl driver
Chukun Pan [Wed, 12 Nov 2025 15:18:09 +0000 (23:18 +0800)]
airoha: backport and fix pinctrl driver

Backport changes to the pinctrl driver to bring it closer to
the upstream version. Also fix the bug in the pinctrl driver:

pinctrl-airoha ...pinctrl: invalid function mdio in map table

Fixes: bd7f5b3 ("airoha: replace AN7583 pinctrl patch with upstream version")
Signed-off-by: Chukun Pan <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20770
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agoairoha: reorder I2C and UART patches
Chukun Pan [Mon, 3 Nov 2025 15:01:28 +0000 (23:01 +0800)]
airoha: reorder I2C and UART patches

The I2C and UART patch numbers are duplicates
of other patches, so reordered them.

Signed-off-by: Chukun Pan <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20770
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agorockchip: LinkEase EasePi R1 use dedicated uboot
Liangbin Lian [Thu, 13 Nov 2025 07:26:03 +0000 (15:26 +0800)]
rockchip: LinkEase EasePi R1 use dedicated uboot

Fixes the "mdio_bus stmmac-1: MDIO device at address 1 is missing" error
that occurs during cold boot when initializing GMAC.

Fixes: 8ca4caacd039 ("rockchip: Add support for RK3568 LinkEase EasePi R1")
Signed-off-by: Liangbin Lian <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20772
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agouboot-rockchip: add dedicated uboot for LinkEase EasePi R1
Liangbin Lian [Thu, 13 Nov 2025 07:17:57 +0000 (15:17 +0800)]
uboot-rockchip: add dedicated uboot for LinkEase EasePi R1

The generic-rk3568 does not reset the gmac phy, causing the kernel to
fail to initialize gmac during cold boot with the error message
"mdio_bus stmmac-1: MDIO device at address 1 is missing."

Adding a dedicated uboot for EasePi R1 to resolve this issue.

The EasePi R1's DTS hasn't been merged into the Linux release yet,
so it cannot be submitted to the upstream u-boot.

Fixes: ef093299db ("uboot-rockchip: add support for LinkEase EasePi R1")
Signed-off-by: Liangbin Lian <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20772
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agokernel: bump 6.12 to 6.12.58
gongzi miao [Fri, 14 Nov 2025 04:27:56 +0000 (12:27 +0800)]
kernel: bump 6.12 to 6.12.58

changelogs:
https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.58

Removed upstreamed patches:
1. target/linux/generic/backport-6.12/612-01-v6.17-net-dsa-tag_brcm-legacy-reorganize-functions.patch
   Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.58&id=a4daaf063f8269a5881154c5b77c5ef6639d65d3

2. target/linux/qualcommax/patches-6.12/0151-arm64-qcom-ipq6018-nss_port5.patch
   Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.58&id=9a7a5d50ee2e035325de9c720e4842d6759d2374

3. target/linux/realtek/patches-6.12/020-01-v6.18-timer-rtl-otto-work-around-dying-timers.patch
   Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.58&id=d0e217b33d42bfe52ef7ef447916a23a586e6e5c

4. target/linux/realtek/patches-6.12/020-03-v6.18-timer-rtl-otto-do-not-interfere-with-interrupts.patch
   Upstream: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.58&id=8cc561dd9d02f1753ae34dfdd565662828be9a9d

Additional changes:
- Manually adapted bcm27xx patch:
  * 950-0410-media-i2c-adv7180-Add-support-for-V4L2_CID_LINK_FREQ.patch
    Rebased and adjusted for kernel 6.12 to fix context conflicts.
- Synced lantiq DTS (danube.dtsi) with upstream bindings
  to fix DT validation issues on kernel 6.12.
- Manually adapted DTS to match OpenWrt's lantiq DTS layout.

Compile-tested on x86_64
Run-tested on x86_64

Signed-off-by: gongzi miao <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20777
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agotoolchain: nasm: update to 3.01
Nick Hainke [Thu, 20 Nov 2025 06:56:46 +0000 (07:56 +0100)]
toolchain: nasm: update to 3.01

Switch to tar.xz and update to latest release.

Link: https://github.com/openwrt/openwrt/pull/20836
Signed-off-by: Nick Hainke <[email protected]>
2 weeks agobase-files: allow to skip unwanted scripts
Konstantin Demin [Thu, 4 Sep 2025 12:36:56 +0000 (15:36 +0300)]
base-files: allow to skip unwanted scripts

this change allows one to selectively "hush" scripts from /etc/profile.d/ directory.
e.g., to skip "opkg to apk cheatsheet" message ("/etc/profile.d/apk-cheatsheet.sh") create empty file "/etc/profile.d/apk-cheatsheet.hush" using, for example, command "touch /etc/profile.d/apk-cheatsheet.hush"

Signed-off-by: Konstantin Demin <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19953
Signed-off-by: Robert Marko <[email protected]>
2 weeks agobase-files: split /etc/profile
Konstantin Demin [Thu, 4 Sep 2025 12:36:56 +0000 (15:36 +0300)]
base-files: split /etc/profile

- move extra parts to /etc/profile.d/*
- improve syntax and messages

Signed-off-by: Konstantin Demin <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19953
Signed-off-by: Robert Marko <[email protected]>
2 weeks agokernel: fix build of kmod-udptunnel4 and kmod-udptunnel6
Andy Chiang [Thu, 20 Nov 2025 10:24:45 +0000 (17:24 +0700)]
kernel: fix build of kmod-udptunnel4 and kmod-udptunnel6

This fixes the following errors:
```
make[4]: Entering directory '/home/runner/work/OP/OP/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/linux-6.12.57'
  MODPOST /home/runner/work/OP/OP/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/ovpn-dco-0.2.20250801/drivers/net/ovpn-dco/Module.symvers
ERROR: modpost: "udp_tunnel6_xmit_skb" [/home/runner/work/OP/OP/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/ovpn-dco-0.2.20250801/drivers/net/ovpn-dco/ovpn-dco-v2.ko] undefined!
ERROR: modpost: "setup_udp_tunnel_sock" [/home/runner/work/OP/OP/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/ovpn-dco-0.2.20250801/drivers/net/ovpn-dco/ovpn-dco-v2.ko] undefined!
ERROR: modpost: "udp_tunnel_xmit_skb" [/home/runner/work/OP/OP/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/ovpn-dco-0.2.20250801/drivers/net/ovpn-dco/ovpn-dco-v2.ko] undefined!
make[6]: *** [scripts/Makefile.modpost:145: /home/runner/work/OP/OP/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/ovpn-dco-0.2.20250801/drivers/net/ovpn-dco/Module.symvers] Error 1
make[5]: *** [/home/runner/work/OP/OP/openwrt/build_dir/target-aarch64_cortex-a53_musl/linux-mediatek_filogic/linux-6.12.57/Makefile:1897: modpost] Error 2
make[4]: *** [Makefile:224: __sub-make] Error 2
```

ref 1d15a96b29dc
fixes: openwrt/packages#22998

Signed-off-by: Andy Chiang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20839
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agotools/ccache: update to 4.12.1
Nick Hainke [Thu, 20 Nov 2025 07:06:40 +0000 (08:06 +0100)]
tools/ccache: update to 4.12.1

Release Notes:
https://ccache.dev/releasenotes.html#_ccache_4_12_1

Patch manually refreshed:
- 100-honour-copts.patch

Signed-off-by: Nick Hainke <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20837
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agompc85xx: refresh kernel patch
Álvaro Fernández Rojas [Thu, 20 Nov 2025 09:26:07 +0000 (10:26 +0100)]
mpc85xx: refresh kernel patch

Commit 4afaacdd7f57 changed 107-powerpc-85xx-add-ws-ap3825i-support.patch
without refreshing the rest of the patches.

4afaacdd7f57 mpc85xx: relocate AP3825i simpleImage loader
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
2 weeks agosiflower: add support for Linux 6.12
Zhu Yujie [Wed, 19 Nov 2025 08:46:07 +0000 (16:46 +0800)]
siflower: add support for Linux 6.12

Set KERNEL_TESTING_PATCHVER to allow testing Linux 6.12.

Signed-off-by: Zhu Yujie <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20555
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agosiflower: 6.12: change .remove_new callback to .remove
Zhu Yujie [Wed, 19 Nov 2025 11:46:32 +0000 (19:46 +0800)]
siflower: 6.12: change .remove_new callback to .remove

Move back to .remove from .remove_new as kernel 6.12 unified the usage
of .remove and .remove_new (and .remove_new is expected to be dropped in
later version)

Signed-off-by: Zhu Yujie <[email protected]>
[ improve commit description ]
Link: https://github.com/openwrt/openwrt/pull/20555
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agosiflower: 6.12: apply trivial driver fixes
Zhu Yujie [Wed, 19 Nov 2025 09:09:52 +0000 (17:09 +0800)]
siflower: 6.12: apply trivial driver fixes

Apply trivial fixes for 6.12 files:
- Make functions static
- Add lots of missing header in drivers
- Fix no newline at end of file error and other new line error
- Drop deprecated validate function for xgmac
- Use devm for stmmac probe
- Remove host_ prefix from pcie_host_ops

Tested-by: Jingkun Zheng <[email protected]>
Tested-by: Zhu Yujie <[email protected]>
Tested-by: Chuanhong Guo [email protected]
Signed-off-by: Zhu Yujie <[email protected]>
[ improve commit description ]
Link: https://github.com/openwrt/openwrt/pull/20555
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agosiflower: sf21: update config-6.12
Zhu Yujie [Wed, 19 Nov 2025 08:48:11 +0000 (16:48 +0800)]
siflower: sf21: update config-6.12

Refresh kernel configuration of the sf21 subtarget for use with Linux 6.12.

Signed-off-by: Zhu Yujie <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20555
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agosiflower: spi: replace 'master' with 'controller' in driver
Zhu Yujie [Fri, 14 Nov 2025 07:19:13 +0000 (15:19 +0800)]
siflower: spi: replace 'master' with 'controller' in driver

This change replaces the term 'master' with 'controller' in the
Siflower SPI driver (sf_qspi) to align with the Linux kernel's
inclusive language policy.

Tested-by: Jingkun Zheng <[email protected]>
Tested-by: Zhu Yujie <[email protected]>
Tested-by: Chuanhong Guo [email protected]
Signed-off-by: Zhu Yujie <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20555
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agosiflower: 6.12: refresh patches
Zhu Yujie [Fri, 14 Nov 2025 07:15:44 +0000 (15:15 +0800)]
siflower: 6.12: refresh patches

This involves rebasing the patches and resolving any conflicts
arising from changes in the base kernel between the previous
supported version and 6.12.

Tested-by: Jingkun Zheng <[email protected]>
Tested-by: Zhu Yujie <[email protected]>
Tested-by: Chuanhong Guo [email protected]
Signed-off-by: Zhu Yujie <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20555
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agosiflower: 6.12: drop upstreamed patches
Zhu Yujie [Fri, 14 Nov 2025 06:57:36 +0000 (14:57 +0800)]
siflower: 6.12: drop upstreamed patches

Drop patches from the 6.12 patchset that have been merged into the
mainline Linux kernel since the previous version.

Dropped patches:
001-net-phy-c45-add-genphy_c45_pma_read_ext_abilities-fu.patch
002-net-phy-Optimize-phy-speed-mask-to-be-compatible-to-.patch
003-net-phy-Add-driver-for-Motorcomm-yt8821-2.5G-etherne.patch
014-riscv-add-an-option-for-efficient-unaligned-access.patch

Signed-off-by: Zhu Yujie <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20555
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agokernel/siflower: Restore kernel files for v6.6
Zhu Yujie [Sun, 27 Jul 2025 03:05:33 +0000 (03:05 +0000)]
kernel/siflower: Restore kernel files for v6.6

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Zhu Yujie <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20555
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agokernel/siflower: Create kernel files for v6.12 (from v6.6)
Zhu Yujie [Sun, 27 Jul 2025 03:05:33 +0000 (03:05 +0000)]
kernel/siflower: Create kernel files for v6.12 (from v6.6)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Zhu Yujie <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20555
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agowifi-scripts: bump reassociation_deadline default to 20000
Rany Hany [Sat, 15 Nov 2025 20:25:59 +0000 (20:25 +0000)]
wifi-scripts: bump reassociation_deadline default to 20000

Most users on forums face a broken 802.11r setup when having
a very simple 802.11r config (i.e., just ieee80211r enabled).

In most cases, simply bumping reassociation_deadline to
20000 fixes their problems and allows 802.11r to just work.

Reassociation Deadline is already set to 20 seconds on Cisco
equipment by default[1] which is why this value has been
chosen.

It is also mentioned on the OpenWRT Wiki as a value that should
be changed in order for 802.11r to work on Apple devices. I think
it would be better to change the defaults instead so users don't
have to do much work for a working setup.

[1]: https://www.cisco.com/c/en/us/td/docs/wireless/controller/technotes/80211r-ft/b-80211r-dg.html

Fixes: https://github.com/openwrt/openwrt/issues/7907
Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20799
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agowifi-scripts: allow rssi_reject_assoc_timeout to be configured
Rany Hany [Sun, 16 Nov 2025 21:04:54 +0000 (21:04 +0000)]
wifi-scripts: allow rssi_reject_assoc_timeout to be configured

This is useful to alter the default ban time after an STA
association is rejected for being below RSSI threshold.

Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20811
Signed-off-by: Robert Marko <[email protected]>
2 weeks agoinclude: rootfs: fix APK compressed scripts tarball support
Robert Marko [Wed, 19 Nov 2025 12:46:29 +0000 (13:46 +0100)]
include: rootfs: fix APK compressed scripts tarball support

APK will generate the compressed scripts.tar by default, however we rely
on using TAR support for updating the tarball on the fly and this does not
work when tarball is compressed and will cause the following errors:
staging_dir/host/bin/tar: Cannot update compressed archives
Try /staging_dir/host/bin/tar --help' or
staging_dir/host/bin/tar --usage' for more information.

So, lets simply decompress the scripts.tar.gz before usage and then
compress it after we are done.

Fixes: 5d85657f6dbb ("apk-tools: implement compression of on-device scripts.tar")
Signed-off-by: Robert Marko <[email protected]>
2 weeks agotools: erofs-utils: update to 1.8.10
Andy Chiang [Sun, 16 Nov 2025 06:05:39 +0000 (13:05 +0700)]
tools: erofs-utils: update to 1.8.10

ChangeLog:
  https://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git/tree/ChangeLog?h=v1.8.10

Build system: x86/64
Tested on:
  - x86/64 (build + run)
  - mediatek/filogic GL-MT3000 (build + run)

Signed-off-by: Andy Chiang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20804
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agomt76: Enable NPU support for Airoha AN7581 SoC
Lorenzo Bianconi [Sun, 16 Nov 2025 14:17:32 +0000 (15:17 +0100)]
mt76: Enable NPU support for Airoha AN7581 SoC

Airoha AN7581 SoC supports a Network Processor (NPU) to offload WiFi
traffic. Add the required bits to enable the support of it in the MT76
driver. This will be enabled by default if we are compiling for the
Airoha AN7581 SoC.

Signed-off-by: Lorenzo Bianconi <[email protected]>
[ improve commit title/description ]
Link: https://github.com/openwrt/openwrt/pull/20826
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agosiflower: switch to .remove_new for downstream driver
Christian Marangi [Wed, 19 Nov 2025 10:25:23 +0000 (11:25 +0100)]
siflower: switch to .remove_new for downstream driver

Switch to .remove_new for downstream driver that still use the old
.remove to reduce patch delta for 6.12 bump.

Suggested-by: Zhu Yujie <[email protected]>
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agobuild: Add support for linking with DT_RELR
Hauke Mehrtens [Thu, 6 Nov 2025 22:08:04 +0000 (23:08 +0100)]
build: Add support for linking with DT_RELR

This adds the -Wl,-z,pack-relative-relocs linking options.
This reduces the size of some binaries.

This is only supported on i386, x86_64, aarch64 and loongarch64 in
binutils. This feature is not support for MIPS.

musl libc supports it since version 1.2.4 .
glibc supports it since vesion 2.36.
binutils ld supports it since version 2.38 for x86 and since version
2.43 for LoongArch.

This reduces the size of the armsr default root file system from
5,262,198 bytes to 5,200,950 bytes by 61,248 bytes.

Link: https://github.com/openwrt/openwrt/pull/20679
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agolua: Forward LDFLAGS
Hauke Mehrtens [Sun, 16 Nov 2025 22:35:44 +0000 (23:35 +0100)]
lua: Forward LDFLAGS

Forward the TARGET_LDFLAGS to the linking process.

Link: https://github.com/openwrt/openwrt/pull/20813
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agowireless-tools: Forward LDFLAGS
Hauke Mehrtens [Sun, 16 Nov 2025 22:25:19 +0000 (23:25 +0100)]
wireless-tools: Forward LDFLAGS

Forward the TARGET_LDFLAGS to the linking process.

Link: https://github.com/openwrt/openwrt/pull/20813
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agozyxel-bootconfig: Forward LDFLAGS
Hauke Mehrtens [Sun, 16 Nov 2025 22:14:35 +0000 (23:14 +0100)]
zyxel-bootconfig: Forward LDFLAGS

Forward the TARGET_LDFLAGS to the linking process.

Link: https://github.com/openwrt/openwrt/pull/20813
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agobzip2: Forward LDFLAGS
Hauke Mehrtens [Sun, 16 Nov 2025 22:13:44 +0000 (23:13 +0100)]
bzip2: Forward LDFLAGS

Forward the TARGET_LDFLAGS to the linking process.

Link: https://github.com/openwrt/openwrt/pull/20813
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agoresolveip: Forward LDFLAGS
Hauke Mehrtens [Sun, 16 Nov 2025 22:12:50 +0000 (23:12 +0100)]
resolveip: Forward LDFLAGS

Forward the TARGET_LDFLAGS to the linking process.

Link: https://github.com/openwrt/openwrt/pull/20813
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agocomgt: Forward LDFLAGS
Hauke Mehrtens [Sun, 16 Nov 2025 22:12:11 +0000 (23:12 +0100)]
comgt: Forward LDFLAGS

Forward the TARGET_LDFLAGS to the linking process.

Link: https://github.com/openwrt/openwrt/pull/20813
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agoead: Forward LDFLAGS
Hauke Mehrtens [Sun, 16 Nov 2025 22:11:06 +0000 (23:11 +0100)]
ead: Forward LDFLAGS

Forward the TARGET_LDFLAGS to the linking process.

Link: https://github.com/openwrt/openwrt/pull/20813
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agompc85xx: relocate AP3825i simpleImage loader
David Bauer [Wed, 12 Nov 2025 18:51:13 +0000 (19:51 +0100)]
mpc85xx: relocate AP3825i simpleImage loader

The initramfs images beginning 24.10 do not boot on the AP3825i. The
space available for decompression preceeding the compressed image is not
enough, crashing the system.

To make existing installation instructions continue to work, link the
loader at an address following the loadaddress of the U-Boot image.

Signed-off-by: David Bauer <[email protected]>
2 weeks agompc85xx: drop Kernel 6.6
David Bauer [Tue, 18 Nov 2025 20:41:13 +0000 (21:41 +0100)]
mpc85xx: drop Kernel 6.6

Signed-off-by: David Bauer <[email protected]>
2 weeks agomediatek: add uqmi to RUTC50 default packages
David Bauer [Sun, 28 Sep 2025 15:10:01 +0000 (17:10 +0200)]
mediatek: add uqmi to RUTC50 default packages

Teltonika RUTC50 has a 5G modem. Install uqmi by default to control the
modem with the default package set.

Signed-off-by: David Bauer <[email protected]>
2 weeks agoramips: Add support for TP-Link Archer A5 v6 (EU)
David Senoner [Tue, 20 May 2025 15:07:19 +0000 (17:07 +0200)]
ramips: Add support for TP-Link Archer A5 v6 (EU)

According to the TP-Link websites the Archer C50 v6 EU is the same model
as the Archer A5 v6 EU. Installation method is the same as the C50 v6, as
they are basically the same hardware.
The commit is based on e9ac1b1.

Signed-off-by: David Senoner <[email protected]>
2 weeks agoqoriq: enable 6.12 testing kernel
Nick Hainke [Thu, 1 May 2025 16:14:10 +0000 (18:14 +0200)]
qoriq: enable 6.12 testing kernel

Add testing kernel support.

Signed-off-by: Nick Hainke <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18669
Signed-off-by: Stijn Tintel <[email protected]>
2 weeks agoqoriq: refresh 6.12 kernel config files
Nick Hainke [Thu, 1 May 2025 16:18:20 +0000 (18:18 +0200)]
qoriq: refresh 6.12 kernel config files

All kernel symbols are automatically refreshed by
`make kernel_oldconfig CONFIG_TARGET=target`.

Signed-off-by: Nick Hainke <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18669
Signed-off-by: Stijn Tintel <[email protected]>
2 weeks agokernel/qoriq: Restore kernel files for v6.6
Nick Hainke [Thu, 1 May 2025 14:30:39 +0000 (16:30 +0200)]
kernel/qoriq: Restore kernel files for v6.6

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Nick Hainke <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18669
Signed-off-by: Stijn Tintel <[email protected]>
2 weeks agokernel/qoriq: Create kernel files for v6.12 (from v6.6)
Nick Hainke [Thu, 1 May 2025 14:30:39 +0000 (16:30 +0200)]
kernel/qoriq: Create kernel files for v6.12 (from v6.6)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Nick Hainke <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18669
Signed-off-by: Stijn Tintel <[email protected]>
2 weeks agorockchip: backport eMMC CQE support
Tianling Shen [Fri, 14 Nov 2025 10:37:40 +0000 (18:37 +0800)]
rockchip: backport eMMC CQE support

Backport eMMC Command Queuing support for RK3576/RK3588.

As the RK3576 device-tree has been upstreamed with the 'supports-cqe;'
property set by default, the kernel already tried to use CQE, which
results in system hang during suspend. This fixes the issue.

Signed-off-by: Tianling Shen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20780
Signed-off-by: Robert Marko <[email protected]>
2 weeks agoapk-tools: implement compression of on-device scripts.tar
Eric Fahlgren [Sat, 15 Nov 2025 16:32:00 +0000 (08:32 -0800)]
apk-tools: implement compression of on-device scripts.tar

Default behavior for apk was to create an uncompressed scripts.tar
file.  Due to the structure of tar files, with fixed block
size and null padding, this file becomes very large on OpenWrt
installations where there are typically two scripts per package.
This could cause the raw tar file to easily grow to over 500KB,
whereas the compressed file is generally around 20-30KB.

When stored in the /rom partition of a squashfs device, the file
is compressed and this is not an issue.  But, as soon as you add
or delete a package, the scripts.tar file is fully expanded into
the /overlay partition and can cause issues on small-flash devices.

This issue was addressed in an upstream commit by detecting
whether the scripts.tar file is compressed (its name must be
exactly 'scripts.tar.gz'), and then retaining that compression by
reading/writing the file using a compressed stream.

This commit applies a cherrypicked patch for the upstream commit, and
compresses the scripts.tar during construction of the device rootfs.

Fixes: https://github.com/openwrt/openwrt/issues/17108
Link: https://gitlab.alpinelinux.org/alpine/apk-tools/-/commit/012cdcfdf981453b572a70c9568e8df6d0fe0ca1
Signed-off-by: Eric Fahlgren <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20795
Signed-off-by: Robert Marko <[email protected]>
2 weeks agoapm821xx: fix pcie node numbers
Rosen Penev [Tue, 15 Jul 2025 22:44:25 +0000 (15:44 -0700)]
apm821xx: fix pcie node numbers

The values provides are correct if after the @ it would be the bus
number and then device number. But it's actually, device and then
function for pcie devices.

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19425
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agoapm821xx: rename pciex to pcie
Rosen Penev [Wed, 11 Sep 2024 22:44:30 +0000 (15:44 -0700)]
apm821xx: rename pciex to pcie

Fixes:

Warning (pci_bridge): /plb/pciex@d00000000: node name is not "pci" or "pcie"

Matches upstream commit: 86bc917d2ac117ec922dbf8ed92ca989bf333281

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19425
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agokernel: mtdsplit: rework and make use of -ENOENT error
Christian Marangi [Tue, 18 Nov 2025 12:07:59 +0000 (13:07 +0100)]
kernel: mtdsplit: rework and make use of -ENOENT error

Rework each affected mtdsplit driver to make use of -ENOENT error
instead of -ENODEV to handle new kernel that checks error from parser on
subpartitions.

The only acceptable error is -ENOENT that skip the parser. This follow
pattern used upstream and also by an mtdsplit parser, mtdsplit_bcm_wfi,
and also by a workaround currently implemented for mtdsplit_mstc_boot.

Signed-off-by: Christian Marangi <[email protected]>
2 weeks agoRevert "kernel: mtdsplit_fit: always return 0 when partition can't be split"
Christian Marangi [Tue, 18 Nov 2025 11:53:24 +0000 (12:53 +0100)]
Revert "kernel: mtdsplit_fit: always return 0 when partition can't be split"

This reverts commit 627a0e7da0c84de6744c6453ef2ce8f5b4bf41dc.

A better solution has been accepted upstream that doesn't hide all
unexpected error.

Signed-off-by: Christian Marangi <[email protected]>
2 weeks agoairoha: refresh kernel patches
Christian Marangi [Tue, 18 Nov 2025 11:51:58 +0000 (12:51 +0100)]
airoha: refresh kernel patches

Refresh kernel patches with make target/linux/refresh.

Signed-off-by: Christian Marangi <[email protected]>
2 weeks agoairoha: backport patch fixing offload support with GDM2 present
Christian Marangi [Tue, 18 Nov 2025 11:50:50 +0000 (12:50 +0100)]
airoha: backport patch fixing offload support with GDM2 present

Backport upstream patch fixing offload support in the presence of GDM2
interface.

Signed-off-by: Christian Marangi <[email protected]>
2 weeks agobcm53xx: add 6.12 testing kernel
Stefan Kalscheuer [Thu, 25 Sep 2025 11:45:11 +0000 (13:45 +0200)]
bcm53xx: add 6.12 testing kernel

Add 6.12 testing kernel for bcm53xx target.

Signed-off-by: Stefan Kalscheuer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20167
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agobcm53xx: 6.12: refresh kernel config
Stefan Kalscheuer [Thu, 25 Sep 2025 11:44:50 +0000 (13:44 +0200)]
bcm53xx: 6.12: refresh kernel config

Add new and remove obsolete symbols for Kernel 6.12 by running
make kernel_oldconfig.

Signed-off-by: Stefan Kalscheuer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20167
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agobcm53xx: 6.12: refresh patches
Stefan Kalscheuer [Thu, 25 Sep 2025 11:43:09 +0000 (13:43 +0200)]
bcm53xx: 6.12: refresh patches

Drop upstreamed patches:
030-v6.7-0001-ARM-dts-BCM5301X-Set-MACs-for-D-Link-DIR-885L.patch
030-v6.7-0002-ARM-dts-BCM5301X-Set-MAC-address-for-Asus-RT-AC87U.patch
030-v6.7-0003-ARM-dts-BCM5301X-Relicense-Felix-s-code-to-the-GPL-2.patch
030-v6.7-0004-ARM-dts-BCM5301X-Relicense-Vivek-s-code-to-the-GPL-2.patch
030-v6.7-0005-ARM-dts-BCM5301X-Explicitly-disable-unused-switch-CP.patch
030-v6.7-0006-ARM-dts-BCM5301X-Set-fixed-link-for-extra-Netgear-R8.patch
030-v6.7-0007-ARM-dts-BCM5301X-Set-switch-ports-for-Linksys-EA9200.patch
040-v6.11-ARM-dts-broadcom-convert-NVMEM-content-to-layout-syntax.patch

All other patches automatically refreshed.

Signed-off-by: Stefan Kalscheuer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20167
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agokernel/bcm53xx: Restore kernel files for v6.6
Stefan Kalscheuer [Sun, 9 Nov 2025 12:30:51 +0000 (13:30 +0100)]
kernel/bcm53xx: Restore kernel files for v6.6

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Stefan Kalscheuer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20167
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agokernel/bcm53xx: Create kernel files for v6.12 (from v6.6)
Stefan Kalscheuer [Sun, 9 Nov 2025 12:30:51 +0000 (13:30 +0100)]
kernel/bcm53xx: Create kernel files for v6.12 (from v6.6)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Stefan Kalscheuer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20167
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agogeneric: 6.12: backport fix for mtd parser error handling
Christian Marangi [Mon, 17 Nov 2025 20:40:52 +0000 (21:40 +0100)]
generic: 6.12: backport fix for mtd parser error handling

Backport a trivial patch that half restore original functionality of MTD
parser for subpartition by ignoring if the parser returns -ENOENT.

This fix parsing and booting of some brcm devices.

Link: https://github.com/openwrt/openwrt/pull/20822
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agozynq: add 6.12 testing kernel
Stefan Kalscheuer [Thu, 25 Sep 2025 10:52:19 +0000 (12:52 +0200)]
zynq: add 6.12 testing kernel

Add 6.12 testing kernel for zynq target.

Tested-by: Luis Araneda <[email protected]> # Zybo Z7-20
Signed-off-by: Stefan Kalscheuer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20166
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agozynq: 6.12: refresh kernel config
Stefan Kalscheuer [Thu, 25 Sep 2025 10:51:40 +0000 (12:51 +0200)]
zynq: 6.12: refresh kernel config

Add new and remove obsolete symbols for Kernel 6.12 by running
make kernel_oldconfig.

Signed-off-by: Stefan Kalscheuer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20166
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agokernel/zynq: Restore kernel files for v6.6
Stefan Kalscheuer [Thu, 25 Sep 2025 08:20:36 +0000 (10:20 +0200)]
kernel/zynq: Restore kernel files for v6.6

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Stefan Kalscheuer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20166
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agokernel/zynq: Create kernel files for v6.12 (from v6.6)
Stefan Kalscheuer [Thu, 25 Sep 2025 08:20:36 +0000 (10:20 +0200)]
kernel/zynq: Create kernel files for v6.12 (from v6.6)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Stefan Kalscheuer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20166
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agoairoha: backport kernel part of WiFi MT76 offload patch
Lorenzo Bianconi [Fri, 24 Oct 2025 12:44:03 +0000 (14:44 +0200)]
airoha: backport kernel part of WiFi MT76 offload patch

Backport the kernel parf of the WiFi MT76 offload patch. This is needed
as we have a dedicated package that only have mt76 related changes.

Add missing include in airoha_offload.h in order to enable MT76 NPU
offloading (and fix compilation error)

Signed-off-by: Lorenzo Bianconi <[email protected]>
[ improve commit title/description and use proper patch ]
Link: https://github.com/openwrt/openwrt/pull/20807
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agomediatek: fix uart clocks in MT7987 infracfg clock driver
Daniel Golle [Tue, 18 Nov 2025 11:17:39 +0000 (11:17 +0000)]
mediatek: fix uart clocks in MT7987 infracfg clock driver

MediaTek has applied a fix for the MT7987 infracfg clock driver in their
SDK, pick it.

Link: https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+/fe98d04c6036a5e142f02021145e528216a8d831/master/files/target/linux/mediatek/patches-6.12/999-clk-01-clk-mediatek-fix-mt7987-infracfg-clk-driver.patch
Signed-off-by: Daniel Golle <[email protected]>
2 weeks agomediatek: add support for EROFS
Andy Chiang [Sat, 15 Nov 2025 11:49:19 +0000 (18:49 +0700)]
mediatek: add support for EROFS

Enable EROFS support for Mediatek targets.

Build system: x86/64
Run-tested: mediatek/filogic GL-MT3000

Signed-off-by: Andy Chiang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20792
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agobcm4908: add 6.12 testing kernel
Stefan Kalscheuer [Thu, 25 Sep 2025 12:47:32 +0000 (14:47 +0200)]
bcm4908: add 6.12 testing kernel

Add 6.12 testing kernel for bcm4908 target.

Signed-off-by: Stefan Kalscheuer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20169
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agobcm4908: 6.12: refresh kernel config
Stefan Kalscheuer [Thu, 25 Sep 2025 12:47:12 +0000 (14:47 +0200)]
bcm4908: 6.12: refresh kernel config

Add new and remove obsolete symbols for Kernel 6.12 by running
make kernel_oldconfig.

Signed-off-by: Stefan Kalscheuer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20169
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agobcm4908: 6.12: refresh patches
Stefan Kalscheuer [Thu, 25 Sep 2025 12:43:36 +0000 (14:43 +0200)]
bcm4908: 6.12: refresh patches

Drop upstreamed patches:
* 130-arm64-dts-broadcom-bcmbca-bcm4908-set-brcm-wp-not-co.patch

All other patches automatically refreshed.

Signed-off-by: Stefan Kalscheuer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20169
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agokernel/bcm4908: Restore kernel files for v6.6
Stefan Kalscheuer [Tue, 4 Nov 2025 18:57:17 +0000 (19:57 +0100)]
kernel/bcm4908: Restore kernel files for v6.6

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Stefan Kalscheuer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20169
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agokernel/bcm4908: Create kernel files for v6.12 (from v6.6)
Stefan Kalscheuer [Tue, 4 Nov 2025 18:57:17 +0000 (19:57 +0100)]
kernel/bcm4908: Create kernel files for v6.12 (from v6.6)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Stefan Kalscheuer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20169
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agobcm47xx: 6:12: refresh patches
Kyle Hendry [Sat, 2 Aug 2025 22:42:44 +0000 (15:42 -0700)]
bcm47xx: 6:12: refresh patches

- remove no_llseek in 831-old_gpio_wdt.patch, see
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=cb787f4ac0c2e439ea8d7e6387b925f74576bdf8
- refresh remaining patches

Signed-off-by: Kyle Hendry <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19708
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agobcm47xx: enable 6.12 testing kernel
Kyle Hendry [Sat, 2 Aug 2025 22:12:33 +0000 (15:12 -0700)]
bcm47xx: enable 6.12 testing kernel

Allow selecting 6.12 as testing kernel on bcm47xx.

Signed-off-by: Kyle Hendry <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19708
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agokernel/bcm47xx: Restore kernel files for v6.6
Kyle Hendry [Sat, 2 Aug 2025 21:52:28 +0000 (14:52 -0700)]
kernel/bcm47xx: Restore kernel files for v6.6

This is an automatically generated commit which aids following Kernel patch
history, as git will see the move and copy as a rename thus defeating the
purpose.

For the original discussion see:
https://lists.openwrt.org/pipermail/openwrt-devel/2023-October/041673.html

Signed-off-by: Kyle Hendry <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19708
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agokernel/bcm47xx: Create kernel files for v6.12 (from v6.6)
Kyle Hendry [Sat, 2 Aug 2025 21:52:28 +0000 (14:52 -0700)]
kernel/bcm47xx: Create kernel files for v6.12 (from v6.6)

This is an automatically generated commit.

When doing `git bisect`, consider `git bisect --skip`.

Signed-off-by: Kyle Hendry <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19708
Signed-off-by: Christian Marangi <[email protected]>
2 weeks agoramips: disable build TP-Link EAP235-Wall
Shiji Yang [Sun, 26 Oct 2025 09:30:29 +0000 (17:30 +0800)]
ramips: disable build TP-Link EAP235-Wall

After investigating the EAP235-Wall u-boot GPL code, it was found that
the u-boot of this device directly loads the kernel from the SPI NOR
Flash direct access address. However, due to hardware limitation, MT7621
can only remap the first 4MiB Flash. Excluding some partitions before
the kernel, this device can only boot kernels smaller than 0x360000.
This means that unless you install a modified bootloader, the mainline
OpenWrt will no longer work on this model.

Closes: https://github.com/openwrt/openwrt/issues/20500
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20509
Signed-off-by: Robert Marko <[email protected]>
2 weeks agoramips: fix LZMA decompression error for TP-Link EAP615-Wall
Shiji Yang [Thu, 23 Oct 2025 00:56:47 +0000 (08:56 +0800)]
ramips: fix LZMA decompression error for TP-Link EAP615-Wall

Relocating the kernel load address to avoid the memory overlap issue.

Fixes: https://github.com/openwrt/openwrt/issues/19403
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20509
Signed-off-by: Robert Marko <[email protected]>
2 weeks agoramips: enable LZMA loader for ZIO FREEZIO
Shiji Yang [Thu, 23 Oct 2025 01:56:16 +0000 (09:56 +0800)]
ramips: enable LZMA loader for ZIO FREEZIO

Fix the kernel LZMA decompression error issue.

Fixes: https://github.com/openwrt/openwrt/issues/11815
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20509
Signed-off-by: Robert Marko <[email protected]>
2 weeks agoodhcpd: update to Git HEAD (2025-11-14)
Álvaro Fernández Rojas [Sat, 15 Nov 2025 07:25:32 +0000 (08:25 +0100)]
odhcpd: update to Git HEAD (2025-11-14)

d3dc577d7e84 dhcpv6-ia: add missing limits header
be7ca7c0792b config: fix memleak during odhcpd reload
366bd81804a6 dhcpv4: update ubus DHCPv4 events/methods
942df078b670 odhcpd: rename dhcpv6_lease->clid[_data|_len]
f872ae543e6d odhcpd: rename [lease_cfg|dhcpv4_lease]->ipaddr to ipv4
aa6870be6be4 dhcpv4: use an AVL to store leases
f2d3f907e9e0 github: ci: add powerpc arch
62b94b9abac3 github: ci: add cmake build and source directories
e523232ba223 github: ci: disable json-c tests
764fda0d05a8 scripts: devel-build: disable json-c tests
f13d2cecaebf netlink: fix typo in debug msg
fa6e63bb8200 src: fix whitespace issues
2c6a9d6e12d4 vscode: enable indentation detection
b6ade2ebc514 odhcpd: add support for "ignore"
77f9a0dad517 statefiles: support per-interface hosts files
9ba4e3e0f5c5 statefiles: don't make hostsfile dependent on statefile
be9c9f895ab4 statefiles: don't write expired leases
f6f2ef2de045 statefiles: simplify statefiles_write_state6()
940ecbb39161 statefiles: write straight to file in statefiles_write_state4()
ebe0b83db6a9 statefiles: correct some comments/variable names
67a6626dd2f5 statefiles: unify host4 writing
bf9889dfcd47 statefiles: unify host6 writing
593b6b72927c statefiles: group functions
8b2a62250485 statefiles: add function to write IPv4 hosts
06904ee1d4fb statefiles: simplify state/host file writing
bb39f088f3ef statefiles: move dhcpv6_ia_enum_addrs() to odhcpd.c
cc614a451f9b statefiles: add dhcpv6_lease to dhcpv6_log_ia_addr() args
8500654e39d5 statefiles: create helper functions to write leases
98276afcff82 statefiles: introduce statefiles_write()
310846535d06 statefiles: use dirfd in dhcpv6_ia_write_statefile()
50c35c3195f2 statefiles: bail early in dhcpv6_ia_write_statefile()
134ec453dd58 statefiles: simplify dhcpv6_ia_write_hostsfile()
7136fbe390a5 dhcpv6-ia: split statefile handling to separate file
2b26df1293c1 src: replace #pragma once with defines
43baf47948c6 src: remove whitespaces at EOL
df1824aec66c vscode: add tab settings
a89b57fa1786 odhcpd: Implement RFC9762 DHCPv6 PD Preferred flag for PIOs
e63ec4001f83 dhcpv4: add support for RFC4361-style clientid
29357349b33a odhcpd: remove the "legacy" option
f6ba8004d699 odhcpd: document the "upstream" option
56c06a162a4f odhcpd: document the "ra_advrouter" option
e3aaf3312cd5 odhcpd: remove the "ra_management" option
5238defd2c1d odhcpd: remove the "pd_manager" and "pd_cer" options
4f20351c3713 odhcpd: remove the "filter_class" option
869e2231bbc9 config: drop iface_attr_info
af446679d112 README.md: add missing options
7d1b081dcb1b dhcpv4: lazy store statefiles

https://github.com/openwrt/odhcpd/compare/d44af6dd8f4e...d3dc577d7e84

Signed-off-by: Álvaro Fernández Rojas <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20789
2 weeks agoramips: add support for EDUP EP-RT2960S
Andrii Kuiukoff [Tue, 14 Oct 2025 12:05:37 +0000 (15:05 +0300)]
ramips: add support for EDUP EP-RT2960S

EDUP EP-RT2960S has the similar hardware design as the SIMAX1800T.
The main difference is the arrangement of the GPIO pins
and the location of the MAC address.

Specification
-------------
- SoC       : Mediatek MT7621
- RAM       : 256 MiB DDR3
- Flash     : 128 MiB NAND Flash
- WLAN      : Mediatek MT7905 DBDC
  - 2.4 GHz : 2x2 MIMO WiFi6
  - 5 GHz   : 2x2 MIMO WiFi6
- Ethernet  : MT7621 built-in 10/100/1000 Mbps 1x WAN; 3x LAN
- UART      : 3.3V, 115200n8
- Buttons   : 1x RESET; 1x WPS/MESH
- LEDs      : 1x Multi-Color(Blue;Green;Red)
- Power     : DC 12V1A
- CMIIT ID  : 2022AP7163
- TFTP IP   :
  - server  : 192.168.1.254
  - router  : 192.168.1.28

TFTP Installation(recommend)
------------
1. Set local tftp server IP "192.168.1.254" and NetMask "255.255.255.0".
2. Rename initramfs-kernel.bin to "factory.bin" and put it in the root
   directory of the tftp server. tftpd64 is a good choice for Windows.
3. Remove all Ethernet cables and WiFi connections from the PC, except
   for the one connected to the EDUP EP-RT2960S. Start the TFTP server, plug
   in the power adapter and wait for the OpenWrt system to boot.
4. Backup "firmware" partition and rename it to "firmware.bin". We need
   it to back to the stock firmware.
5. Use "fw_printenv" command to list envs. If "firmware_select=2" is
   observed then set u-boot env variable via command:
   `fw_setenv firmware_select 1`
6. Apply sysupgrade.bin in OpenWrt LuCI.

Web UI Installation
------------
1. Apply update by uploading initramfs-factory.bin to the web UI.
2. Use "fw_printenv" command to list envs. If "firmware_select=2" is
   observed then set u-boot env variable via command:
   `fw_setenv firmware_select 1`
3. Apply squashfs-sysupgrade.bin in OpenWrt LuCI.

Return to Stock Firmware
----------------------------
  Restore the backup firmware partition in the installation step 4.

MAC addresses
-------------
+---------+-------------------+
|         | MAC example       |
+---------+-------------------+
| LABEL   | 24:D5:1C:xx:xx:xx |
| LAN     | 24:D5:1C:xx:xx:xx |
| WAN     | 24:D5:1C:xx:xx:xx |
| WLAN2G  | 24:D5:1C:xx:xx:xx |
| WLAN5G  | 26:D5:1C:xx:xx:xx |
+---------+-------------------+

Tips:
-----------
  User can use `TFTP Installation` method to recover a brick device.

Signed-off-by: Andrii Kuiukoff <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20600
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agohostapd: pass global linker options to CLI tools
Matthias Van Parys [Wed, 8 Oct 2025 12:42:42 +0000 (14:42 +0200)]
hostapd: pass global linker options to CLI tools

The CLI tools hostapd_cli and wpa_cli are compiled with
`TARGET_LDFLAGS_C` rather than the standard `TARGET_LDFLAGS`.
This variable is empty, leading to global linker options not being
applied.

Set this variable equal to `TARGET_LDFLAGS` right after the package.mk
include to make sure global linker options are applied, but local options
such as linking to crypto libraries are not.

Signed-off-by: Matthias Van Parys <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20345
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agolua5.3: Add TARGET_LDFLAGS to MYLDFLAGS
Jonathan Luijsmans [Tue, 4 Nov 2025 16:01:11 +0000 (17:01 +0100)]
lua5.3: Add TARGET_LDFLAGS to MYLDFLAGS

Add TARGET_LDFLAGS to MYLDFLAGS make sure that the required flags are used
during the compilation.

Signed-off-by: Jonathan Luijsmans <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20642
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agorealtek: dsa: Clarify statistic port iterator variable
Sven Eckelmann [Wed, 5 Nov 2025 08:43:36 +0000 (09:43 +0100)]
realtek: dsa: Clarify statistic port iterator variable

The functions iterating through the port statistic/counter (for
initialization or polling) use the generic name "i" for the iterator. This
makes reading the actual body of the loop cumbersome because it is not
clear that various parameters of functions are about a ports.

Suggested-by: Felix Baumann <[email protected]>
Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20631
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agorealtek: dsa: rtl931x: Reduce HW counters polling interval
Sven Eckelmann [Mon, 3 Nov 2025 17:19:14 +0000 (18:19 +0100)]
realtek: dsa: rtl931x: Reduce HW counters polling interval

Some SoC families require table access to get the HW counters. A mutex is
required for this access - which will potentially cause a sleep in the
current context. This is not always possible with .get_stats64 because it
is also called in atomic contexts.

For these SoCs, the retrieval of the current counters in .get_stats64 is
skipped and the counters are simply retrieved a lot more often from the HW.

Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20631
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agorealtek: dsa: Refresh link_stats in .get_stats64
Sven Eckelmann [Mon, 3 Nov 2025 17:19:14 +0000 (18:19 +0100)]
realtek: dsa: Refresh link_stats in .get_stats64

If an architecture doesn't need to sleep for retrieving the current
statistics from the HW, it is possible to directly retrieve the last values
from the HW when .get_stats64 is called. This avoids the stale counters
with the current refresh interval of 60 seconds.

Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20631
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agorealtek: dsa: Select counter lock based on sleeping behavior
Sven Eckelmann [Mon, 3 Nov 2025 17:19:14 +0000 (18:19 +0100)]
realtek: dsa: Select counter lock based on sleeping behavior

On many architectures, retrieving the HW counters from the switch is not
potentially sleeping. This would potentially allow these architectures to
retrieve the most recent values from the HW when .get_stats64 is called.
But because of the global mutex (which may sleep on lock), this would no
longer be possible.

Reintroduce the per port counters lock which protects from parallel
writes+reads of the non-link_stat counters. The locking is made abstract by
using helpers which identify the correct locking mechanism based on the
used read methods of the SoC.

Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20631
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agorealtek: dsa: rtl931x: add ethtool statistics support
Harshal Gohel [Wed, 13 Aug 2025 13:44:12 +0000 (13:44 +0000)]
realtek: dsa: rtl931x: add ethtool statistics support

Add MIB data structures and table access routines for the RTL931X family.
These counters can now be exposed through the ethtool statistics interface.

Signed-off-by: Harshal Gohel <[email protected]>
Co-developed-by: Sharadanand Karanjkar <[email protected]>
Signed-off-by: Sharadanand Karanjkar <[email protected]>
Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20631
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agorealtek: dsa: add table-based statistics infrastructure
Sharadanand Karanjkar [Thu, 14 Aug 2025 15:48:14 +0000 (15:48 +0000)]
realtek: dsa: add table-based statistics infrastructure

Some Realtek SoCs such as the RTL931X store MIB counters in tables rather
than registers. Unlike register reads, table access requires programming
the table control register, setting the command field to determine read or
write, and then polling for completion. This makes it necessary to
implement a separate path for table-based statistics.

Like register-based MIBs, the table-based MIBs also come in two types: STD
and PRIV which will require slightly different implementations.

Signed-off-by: Sharadanand Karanjkar <[email protected]>
Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20631
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agorealtek: dsa: rework MIB read locking and polling
Sharadanand Karanjkar [Wed, 13 Aug 2025 13:28:32 +0000 (13:28 +0000)]
realtek: dsa: rework MIB read locking and polling

Some Realtek SoCs do not expose MIB counters as simple registers. Instead,
retrieving counters may require blocking operations or take longer than a
normal register read. This makes the existing approach of direct reads
unsuitable. The existing approach uses spin locks which forbid sleeping
inside their context. But some hardware accesses methods (for example table
reads) might block (sleep).

To handle this, the MIB read path is redesigned with two levels of
locking:

* A global mutex protects updates of MIB data from the hardware. This is
  necessary because reads can occur both in the polling workqueue and from
  ethtool callbacks, also two user threads might call the ethtools
  callbacks. A global mutex helps to avoid parallel reads of the same
  hardware data. For table reads, this is not necessarily required because
  they are already using a table lock. But they are the reason why
  spin-locks can no longer be used (see above).

* A per-port spinlock protects the shared memory region where per-port
  counters are copied. Avoids reading of half copied values in
  .get_stats64()

As part of this change, MIB reads were removed from .get_stats64() since
that callback can be started from an atomic context and must never sleep
(block) in this context. A shared memory region is provided which will be
updated periodically by MIB workqueue and .get_stats64() will simply return
data from the shared memory.

Signed-off-by: Sharadanand Karanjkar <[email protected]>
Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20631
Signed-off-by: Hauke Mehrtens <[email protected]>
2 weeks agomac80211: mwl8k: inject DSSS Parameter Set element into beacons if missing
Pawel Dembicki [Wed, 12 Nov 2025 21:33:24 +0000 (22:33 +0100)]
mac80211: mwl8k: inject DSSS Parameter Set element into beacons if missing

Some Marvell AP firmware used with mwl8k misbehaves when beacons do not
contain the DSSS Parameter Set (WLAN_EID_DS_PARAMS) with the current
channel. When hostapd/mac80211 omits this element (which is valid on
some bands), the firmware may report bogus RX channel information and AP
mode becomes unusable.

Backport the upstream fix that ensures beacons always carry the DSSS
Parameter Set for mwl8k: when setting the beacon, detect if the element
is missing and inject it after SSID and Supported Rates (per spec
ordering). This mirrors behaviour in newer Marvell drivers and restores
stable operation.

Tested on Linksys EA4500 (88W8366).

Fixes: openwrt/openwrt#19088
Link: https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless.git/commit/?id=c4e1ac09ee1c750890e36cb1f841f25518f23589
Signed-off-by: Pawel Dembicki <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20757
Signed-off-by: Hauke Mehrtens <[email protected]>