Compare commits

...

145 Commits

Author SHA1 Message Date
Martin Schiller
00b6462cb0 openssl: update to version 3.0.19
OpenSSL 3.0.19 is a security patch release. The most severe CVE fixed
in this release is High.

This release incorporates the following bug fixes and mitigations:

 * Fixed Stack buffer overflow in CMS AuthEnvelopedData parsing.
   (CVE-2025-15467)

 * Fixed Heap out-of-bounds write in BIO_f_linebuffer on short writes.
   (CVE-2025-68160)

 * Fixed Unauthenticated/unencrypted trailing bytes with low-level OCB
   function calls. (CVE-2025-69418)

 * Fixed Out of bounds write in PKCS12_get_friendlyname() UTF-8
   conversion. (CVE-2025-69419)

 * Fixed Missing ASN1_TYPE validation in TS_RESP_verify_response()
   function. (CVE-2025-69420)

 * Fixed NULL Pointer Dereference in PKCS12_item_decrypt_d2i_ex()
   function. (CVE-2025-69421)

 * Fixed Missing ASN1_TYPE validation in PKCS#12 parsing.
   (CVE-2026-22795)

 * Fixed ASN1_TYPE Type Confusion in the PKCS7_digest_from_attributes()
   function. (CVE-2026-22796)

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/21832
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-07 18:18:24 +01:00
Martin Schiller
be13eed2ed kernel: bump 5.15 to 5.15.198
Manually adapted:
   generic/backport-5.15/601-v5.18-page_pool-Add-recycle-stats.patch
   upstream changes to page_pool_recycle_in_ring():
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=d69f28ef7cdafdcf37ee310f38b1399e7d05f9a8

   ipq40xx/patches-5.15/401-mmc-sdhci-msm-comment-unused-sdhci_msm_set_clock.patch
   upstream changes to sdhci_msm_set_clock():
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=d685237855bf0f27fe2ac9c321374ead30e744c8

   ipq807x/patches-5.15/0113-remoteproc-qcom-Add-secure-PIL-support.patch
   upstream changes to MAX_HALT_REG
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=140e6cd7b092525c151f15952cca5b8df9dcc74a

   ipq807x/patches-5.15/0116-remoteproc-qcom-Update-regmap-offsets-for-halt-regis.patch
   upstream changes to MAX_HALT_REG
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=140e6cd7b092525c151f15952cca5b8df9dcc74a

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/21040
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-07 18:15:49 +01:00
Martin Schiller
b13a7deab2 kernel: bump 5.15 to 5.15.197
Removed because they are upstream:
   bcm27xx/patches-5.15/950-0030-Revert-Bluetooth-Always-request-for-user-confirmatio.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=4475bac8224ce1e43603a94411ab3d781f006326

   bcm27xx/patches-5.15/950-0031-Revert-Bluetooth-Always-request-for-user-confirmatio.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=4475bac8224ce1e43603a94411ab3d781f006326

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/21040
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-07 18:15:49 +01:00
Martin Schiller
8166bba3fe kernel: bump 5.15 to 5.15.196
Removed because they are upstream:
   bcm27xx/patches-5.15/950-0119-media-tc358743-Increase-FIFO-level-to-374.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=aef1b717d4a27e72f9c1d1ebe32c6d841a7e69fc

   bcm27xx/patches-5.15/950-0122-media-tc358743-Check-I2C-succeeded-during-probe.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=a6ccbe037734ef20016bc57869a90abc4406ea7e

   bcm27xx/patches-5.15/950-0128-media-tc358743-Return-an-appropriate-colorspace-from.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=21ba26a8e3477998df9f52a519169b4c6764c0b2

   bcm27xx/patches-5.15/950-0278-media-i2c-tc358743-Only-allow-supported-pixel-fmts-i.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=21ba26a8e3477998df9f52a519169b4c6764c0b2

   generic/backport-5.15/895-v6.15-0001-sch_htb-make-htb_qlen_notify-idempotent.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=967955c9e57f8eebfccc298037d4aaf3d42bc1c9

   generic/backport-5.15/895-v6.15-0002-sch_drr-make-drr_qlen_notify-idempotent.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=db568d2151cd20a1e516b0454eda8a11a948e72a

   generic/backport-5.15/895-v6.15-0003-sch_hfsc-make-hfsc_qlen_notify-idempotent.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=a5efc95a33bd4fcb879250852828cc58c7862970

   generic/backport-5.15/895-v6.15-0004-sch_qfq-make-qfq_qlen_notify-idempotent.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=44e2f93f9820a54929ab8cfc6d322a18279bb79b

   generic/backport-5.15/895-v6.15-0005-sch_htb-make-htb_deactivate-idempotent.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=c2d25fddd867ce20a266806634eeeb5c30cb520c

   mediatek/patches-5.15/821-v5.16-pinctrl-mediatek-moore-check-if-pin_desc-is-valid-be.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=4b5022b649abbceb564253fafa9d2c7914d29ee4

Manually adapted:
   bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
   upstream changes to the xhci_free_virt_device():
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=c78c8e5048b7069b6655613ab4e9795a901dbbee
   Fix taken from commit efd444537d. Thanks to Goetz Goerisch.

   generic/backport-5.15/882-v5.19-rndis_host-limit-scope-of-bogus-MAC-address-detectio.patch
   upstream changes to generic_rndis_bind():
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=a6b33d9edf2600bc9647e4f0420714beae6eb329

   lantiq/patches-5.15/0152-lantiq-VPE.patch
   upstream changes to arch/mips/include/asm/vpe.h:
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=90c1295da0a78f3ed00388bb5f569d843b18c03d

Adapt kernel configuration for newly added option
   generic: add CONFIG_RESET_BRCMSTB is not set
   upstream changes to drivers/reset/Kconfig:
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=345df19a971a506813d7a33106e35aac31489e78

   x86: add CONFIG_MITIGATION_VMSCAPE=y
   upstream changes to arch/x86/Kconfig:
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=2f4f2f8f860cb4c3336a7435ebe8dcfded0c9c6e
   (cherry picked from commit 6af8e20b45)

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/21040
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-07 18:15:49 +01:00
Martin Schiller
d36411269c tools/gnulib: add patch to fix build on macos
This backports a fix for lib/posixtm.c.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/21040
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-07 18:15:49 +01:00
Nick Hainke
4e5e2076e1 tools/zlib: update to 1.3.1
Release Notes:
https://github.com/madler/zlib/releases/tag/v1.3.1

Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 25080a95dc)
Link: https://github.com/openwrt/openwrt/pull/21040
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-07 18:15:49 +01:00
Nick Hainke
4286bd30f4 tools/zlib: update to 1.3
Changes in 1.3 (18 Aug 2023)
- Remove K&R function definitions and zlib2ansi
- Fix bug in deflateBound() for level 0 and memLevel 9
- Fix bug when gzungetc() is used immediately after gzopen()
- Fix bug when using gzflush() with a very small buffer
- Fix crash when gzsetparams() attempted for transparent write
- Fix test/example.c to work with FORCE_STORED
- Rewrite of zran in examples (see zran.c version history)
- Fix minizip to allow it to open an empty zip file
- Fix reading disk number start on zip64 files in minizip
- Fix logic error in minizip argument processing
- Add minizip testing to Makefile
- Read multiple bytes instead of byte-by-byte in minizip unzip.c
- Add memory sanitizer to configure (--memory)
- Various portability improvements
- Various documentation improvements
- Various spelling and typo corrections

Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 63f5b5ed3f)
Link: https://github.com/openwrt/openwrt/pull/21040
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-02-07 18:15:48 +01:00
Hauke Mehrtens
b6d7048c8b openssl: Update to version 3.0.18
OpenSSL 3.0.18 is a security patch release. The most severe CVE fixed in this
release is Moderate.

This release incorporates the following bug fixes and mitigations:

 * Fix Out-of-bounds read & write in RFC 3211 KEK Unwrap. (CVE-2025-9230)

 * Fix Out-of-bounds read in HTTP client no_proxy handling. (CVE-2025-9232)

The removed patch is included upstream:
c0d968f0ac

Link: https://github.com/openwrt/openwrt/pull/20312
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6e068b7052)
2025-12-04 15:13:14 +01:00
Linus Kardell
a25c76d8c7 openssl: correct PKG_LICENSE_FILES
Point to correct file name.

Signed-off-by: Linus Kardell <linus.kardell@infobric.com>
Link: https://github.com/openwrt/openwrt/pull/19999
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit bcfc3f01a4)
(cherry picked from commit daca7c049b)
2025-12-04 15:13:07 +01:00
Hauke Mehrtens
26433c2168 openssl: Backport fix for OpenSSL 3.5.2 and 3.0.17 regression
Fixes segmentation faults in openssl. This problem was introduced in
version 3.5.2 and 3.0.17. Backport a fix from the OpenSSL 3.0 branch.

Link: https://forum.openwrt.org/t/openssl-3-0-17-libcrypto-segmentation-faults-regression/240650/9
Link: https://github.com/openssl/openssl/issues/28171
Link: c0d968f0ac
Fixes: f68c3e5057 ("openssl: Update to version 3.0.17")
Link: https://github.com/openwrt/openwrt/pull/20069
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit aa3c98f821)
(cherry picked from commit 640e364ec0)
2025-12-04 15:13:00 +01:00
Hauke Mehrtens
1ff42fc429 openssl: Update to version 3.0.17
This release incorporates the following bug fixes and mitigations:

    Miscellaneous minor bug fixes.

Link: https://github.com/openwrt/openwrt/pull/19325
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f68c3e5057)
2025-12-04 15:12:51 +01:00
Chukun Pan
93a08f1534 openssl: update download mirrors
New releases of openssl are only published on GitHub, and official
downloads are also redirected to GitHub. So remove the old download
mirrors (file 404), and replace the current address with https.

Link: https://openssl-library.org/source/
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/16470
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 38bb47c36c)
2025-12-04 15:12:41 +01:00
Ernestas Kulik
fd7b88447c scripts: feeds: Don’t hardcode IS_TTY
When building in environments that set IS_TTY, the feeds script does not
honor it and passes a hardcoded value to scan.mk, causing unwanted
control characters to appear in stdout.

This commit addresses the issue by checking IS_TTY and MAKE_TERMOUT
variables and uses their values if defined.

Closes #8039

Signed-off-by: Ernestas Kulik <ernestas.k@iconn-networks.com>
Link: https://github.com/openwrt/openwrt/pull/20743
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit fd7e43d429)
2025-11-12 12:07:24 +01:00
Andreas Gnau
6cd2232298 tools/ccache: same behaviour for local and CI builds
If the environment variable `CI` is set, ccache will enable the CMake
option CCACHE_DEV_MODE by default. This leads to differing behaviour
between local and CI builds which takes quite some time to debug. 🤯

Achieve consistent behaviour between local builds and CI builds by
setting CCACHE_DEV_MODE. Set it to OFF, because CCACHE_DEV_MODE amongst
other settings like linker choice, enables -Werror, which will lead to
potential compilation failures when the host compiler is updated. Using
-Werror for host utils is not desirable, because the compiler version
used is not controlled by the OpenWrt build system and host utils should
compile successfully on an as wide range of host OSes as possible.

Reported-by: Roman Azarenko <roman.azarenko@iopsys.eu>
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/20290
(cherry picked from commit 6f32c657db)
Link: https://github.com/openwrt/openwrt/pull/20335
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-11-04 15:13:50 +01:00
Álvaro Fernández Rojas
3971b15868 kernel: r8127: update to v11.015.00
Changelog: https://github.com/openwrt/rtl8127/compare/11.014.00...11.015.00

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 1cffb44b3c)
2025-09-12 07:50:54 +02:00
Álvaro Fernández Rojas
3cf0c26074 kernel: r8126: update to v10.016.00
Changelog: https://github.com/openwrt/rtl8126/compare/10.015.00...10.016.00

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 27a3e5c7b7)
2025-09-12 07:50:31 +02:00
Álvaro Fernández Rojas
c42affc98f kernel: r8125: update to v9.016.01
Changelog: https://github.com/openwrt/rtl8125/compare/9.016.00...9.016.01

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 2dfad04a82)
2025-09-12 07:50:12 +02:00
Andy Chiang
1e30446f0a kernel: r8168: add missing flags
PKG_MAKE_FLAGS is required when compiling r8168-rss

Signed-off-by: Andy Chiang <AndyChiang_git@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/20001
Signed-off-by: Robert Marko <robimarko@gmail.com>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 5719d65064)
2025-09-11 12:47:35 +02:00
Hauke Mehrtens
40326394fa OpenWrt v23.05.6: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-16 00:10:55 +02:00
Hauke Mehrtens
761ee326d7 OpenWrt v23.05.6: adjust config defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-16 00:10:50 +02:00
David Bauer
539228933c ath79: add extended AR9344 reset sequence
According to datasheet, on AR9344 the switch and switch analog need to
be reset first before initiating a full reset.

Resetting these systems fixes spurious reset hangs on Atheros AR9344
SoCs.

Link: https://github.com/freifunk-gluon/gluon/issues/2904

Signed-off-by: David Bauer <mail@david-bauer.net>
(cherry picked from commit 144af32b47)

account for
torvalds/linux/commit/41ccb3a0eb57741eebd72e51e011ef098bb1493d
torvalds/linux/commit/5eddff6add4feebac625f256d2fe292935351ce3
[felix.bau@gmx.de: adjust patch so it applies without commits above]
Signed-off-by: Felix Baumann <felix.bau@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/19759
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-14 20:27:40 +02:00
Hauke Mehrtens
fc876e9d50 kernel: Add additional net scheduler fix
This fixes a problem introduced in the net scheduler fixes recently
backported.

Fixes: 242bca458f ("kernel: backport fixes missing in stable")
Link: https://github.com/openwrt/openwrt/pull/19747
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-12 11:53:10 +02:00
Christian Korber
29f3f276a8 hostapd: fix logging of configuration content
This commit is an adoption of the fix for #14049 to
apply it for owrt-23.05.

Signed-off-by: Christian Korber <ck@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/17718
Link: https://github.com/openwrt/openwrt/pull/19658
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-08-10 21:52:47 +02:00
Hauke Mehrtens
242bca458f kernel: backport fixes missing in stable
The a stable commit depend son these additional backports.

Without these additional backports this commit causes kernel warnings:
commit e269f29e9395527bc00c213c6b15da04ebb35070
Author: Lion Ackermann <nnamrec@gmail.com>
Date:   Mon Jun 30 15:27:30 2025 +0200
    net/sched: Always pass notifications when child class becomes empty
    [ Upstream commit 103406b38c600fec1fe375a77b27d87e314aea09 ]

Link: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.189&id=e269f29e9395527bc00c213c6b15da04ebb35070

Link: https://github.com/openwrt/openwrt/pull/19695
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-08-07 20:03:51 +02:00
Hauke Mehrtens
5509043972 toolchain: glibc: Update glibc 2.37 to recent HEAD
23021eda75 malloc: Use __get_nprocs on arena_get2 (BZ 30945)
9a1bdd7df7 S390: Do not clobber r7 in clone [BZ #31402]
2fadb0d9b4 support: use 64-bit time_t (bug 30111)
08ac41cf08 make ‘struct pthread’ a complete type
9da8174362 nptl: Unconditionally use a 32-byte rseq area
a11c8d521d Include sys/rseq.h in tst-rseq-disable.c
829b64598b linux: Use rseq area unconditionally in sched_getcpu (bug 31479)
6f28bfa4a0 LoongArch: Correct {__ieee754, _}_scalb -> {__ieee754, _}_scalbf
314b731dd8 AArch64: Improve SVE memcpy and memmove
d0da4fb615 Add HWCAP2_MOPS from Linux 6.5 to AArch64 bits/hwcap.h
4c3985b4c8 AArch64: Add support for MOPS memcpy/memmove/memset
e7f8117b60 AArch64: Cleanup ifuncs
455b1b2b7f AArch64: Cleanup emag memset
cb48c2603a AArch64: Add memset_zva64
3dcb8fde81 AArch64: Remove Falkor memcpy
882b7dc2ab aarch64: correct CFI in rawmemchr (bug 31113)
bbc290aad4 aarch64: fix check for SVE support in assembler
fb8f66c22d AArch64: Check kernel version for SVE ifuncs
6eab323a3c powerpc: Fix ld.so address determination for PCREL mode (bug 31640)
89ce64b269 iconv: ISO-2022-CN-EXT: fix out-of-bound writes when writing escape sequence (CVE-2024-2961)
ae014a15b4 nptl: Fix tst-cancel30 on kernels without ppoll_time64 support
f75c298e74 CVE-2024-33599: nscd: Stack-based buffer overflow in netgroup cache (bug 31677)
5eea50c440 CVE-2024-33600: nscd: Do not send missing not-found response in addgetnetgrentX (bug 31678)
a8070b3104 CVE-2024-33600: nscd: Avoid null pointer crashes after notfound response (bug 31678)
6e106dc214 CVE-2024-33601, CVE-2024-33602: nscd: netgroup: Use two buffers in addgetnetgrentX (bug 31680)
1aa819a693 elf: Also compile dl-misc.os with $(rtld-early-cflags)
bcd2bf36b4 sparc: Remove 64 bit check on sparc32 wordsize (BZ 27574)
2a41cb9c71 login: Check default sizes of structs utmp, utmpx, lastlog
36ef0d2f2f login: structs utmp, utmpx, lastlog _TIME_BITS independence (bug 30701)
90304900c3 nscd: Use time_t for return type of addgetnetgrentX
f4de99ea83 hurd: fix build of tst-system.c
3956fd48d3 Force DT_RPATH for --enable-hardcoded-path-in-tests
340ca2d514 s390x: Fix segfault in wcsncmp [BZ #31934]
182f4a8c75 Add AT_RSEQ_* from Linux 6.3 to elf.h
a858172cf9 nptl: fix potential merge of __rseq_* relro symbols
643709c6ee elf: Make dl-rseq-symbols Linux only
7f769dd008 Linux: Make __rseq_size useful for feature detection (bug 31965)
40a1e1798b resolv: Allow short error responses to match any query (bug 31890)
3da1b0064a resolv: Do not wait for non-existing second DNS response after error (bug 30081)
708f507e30 resolv: Track single-request fallback via _res._flags (bug 31476)
88b3554ed9 tests: replace system by xsystem
40fb943e12 linux: Update the mremap C implementation [BZ #31968]
aaed1cc9fc mremap: Update manual entry
590e58b652 Add mremap tests
aca9c7d5de resolv: Fix tst-resolv-short-response for older GCC (bug 32042)
6e642a47fa Fix name space violation in fortify wrappers (bug 32052)
f82e0922de x86: Fix bug in strchrnul-evex512 [BZ #32078]
6eb9420551 support: Add FAIL test failure helper
5784740194 stdio-common: Add test for vfscanf with matches longer than INT_MAX [BZ #27650]
bb6cfec3dd Make tst-ungetc use libsupport
810fa2488c ungetc: Fix uninitialized read when putting into unused streams [BZ #27821]
5259c8f052 ungetc: Fix backup buffer leak on program exit [BZ #27821]
5b853745fd posix: Use <support/check.h> facilities in tst-truncate and tst-truncate64
3d0acc5b20 nptl: Use <support/check.h> facilities in tst-setuid3
0141e7c794 libio: Attempt wide backup free only for non-legacy code
a4d9258090 elf: Change ldconfig auxcache magic number (bug 32231)
4b2b81deb4 nptl: initialize rseq area prior to registration
b2ab6ce0f5 nptl: initialize cpu_id_start prior to rseq registration
71fca07505 x86: Avoid integer truncation with large cache sizes (bug 32470)
d5ff2fa5af x86_64: Sort fpu/multiarch/Makefile
3607863050 x86_64: Add log2 with FMA
c0cae389fb x86_64: Add expm1 with FMA
f2947239b6 x86_64: Add log1p with FMA
ec7c01efee x86: Check the lower byte of EAX of CPUID leaf 2 [BZ #30643]
0c6f7cd550 elf: Fix slow tls access after dlopen [BZ #19924]
f0c2fcce5f x86: Only align destination to 1x VEC_SIZE in memset 4x loop
ec40bb7938 sysdeps/x86/Makefile: Split and sort tests
b0eef2f27f x86_64: Fix missing wcsncat function definition without multiarch (x86-64-v4)
7e84df6892 x86: Improve large memset perf with non-temporal stores [RHEL-29312]
7d1c950582 x86/string: Fixup alignment of main loop in str{n}cmp-evex [BZ #32212]
19d8959b4d elf: Avoid some free (NULL) calls in _dl_update_slotinfo
abe2bb2b47 elf: Support recursive use of dynamic TLS in interposed malloc
9083997843 misc: Add support for Linux uio.h RWF_NOAPPEND flag
a3d7865b09 Fix underallocation of abort_msg_s struct (CVE-2025-0395)
24d69e33fc stdlib: Test using setenv with updated environ [BZ #32588]
5288c29247 assert: Reformat Makefile.
b989519fe1 assert: Add test for CVE-2025-0395
7feb4c414e AArch64: Improve generic strlen
7d16ea8b42 AArch64: Optimize memset
06eafb057a AArch64: Remove zva_128 from memset
93e4b0796e math: Improve layout of expf data
c747695762 AArch64: Add SVE memset
b4a783aa30 AArch64: Use prefer_sve_ifuncs for SVE memset
032545ebd3 math: Improve layout of exp/exp10 data
7403ede2d7 elf: Ignore LD_LIBRARY_PATH and debug env var for setuid for static
5b1ea2a223 support: Use const char * argument in support_capture_subprogram_self_sgid
1e29775735 support: Add support_record_failure_barrier
e8e6c54353 elf: Test case for bug 32976 (CVE-2025-4802)
0f4e5f764b x86_64: Fix typo in ifunc-impl-list.c.
fba1c47cb5 elf: Fix subprocess status handling for tst-dlopen-sgid (bug 32987)
9643281f9c support: Don't fail on fchown when spawning sgid processes
245dffa9ed support: Pick group in support_capture_subprogram_self_sgid if UID == 0
ea179f9a37 Fix error reporting (false negatives) in SGID tests
58b768addb posix: Fix double-free after allocation failure in regcomp (bug 33185)

Link: https://github.com/openwrt/openwrt/pull/19552
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-27 19:55:36 +02:00
Hauke Mehrtens
47b419b7af wireless-regdb: Update to version 2025.07.10
6953f19 wireless-regdb: Update regulatory info for Indonesia (ID) for 2025
2e8214e wireless-regdb: Permit 320 MHz bandwidth in 6 GHz band for GB
a94f685 wireless-regdb: Update regulatory info for Egypt (EG) for 2024
7628ce2 wireless-regdb: Update regulatory rules for Brazil (BR) on 6GHz
4411b39 wireless-regdb: Update regulatory info for Vietnam (VN) for 2025
490f136 wireless-regdb: Update regulatory info for Estonia (EE) for 2024
c56c663 wireless-regdb: update regulatory rules for Paraguay (PY) on 6 GHz for 2025
5a8ced5 wireless-regdb: Update regulatory info for CEPT countries for 6GHz listed by WiFi Alliance
5fd8ee3 wireless-regdb: update regulatory rules for Bosnia and Herzegovina (BA) for 6 GHz
e05260a wireless-regdb: update regulatory database based on preceding changes

Link: https://github.com/openwrt/openwrt/pull/19474
(cherry picked from commit 7fe06b7f56)
Link: https://github.com/openwrt/openwrt/pull/19539
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-27 19:54:19 +02:00
Ivan Romanov
6179b450fb build: fix CMake generator for non-Ninja builds
OpenWRT by default uses the Ninja generator, but some packages disable
Ninja and use the default Unix Makefiles generator. This generator can
be overridden in the user environment with `CMAKE_GENERATOR`. This patch
explicitly sets the correct generator when `PKG_USE_NINJA:=0`.

In particular, the `mt76` package uses the Makefiles generator.

Signed-off-by: Ivan Romanov <drizt72@zoho.eu>
Link: https://github.com/openwrt/openwrt/pull/16263
(cherry picked from commit 4646aa1699)
Link: https://github.com/openwrt/openwrt/pull/19525
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-27 19:53:03 +02:00
John Audia
d06733b599 libxml2: update to 2.14.5
Release Notes:
    https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.7
    https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.8
    https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.3
    https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.4
    https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.14.5

Fixes:
CVE-2025-32415 CVE-2025-32414 CVE-2025-6170 CVE-2025-49794 CVE-2025-49795 CVE-2025-49796

Build system: x86/64
Build-tested: x86/64-glibc
Run-tested: x86/64-glibc

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/19383
(cherry picked from commit c08c2d6eb3)
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/19485
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-27 19:50:59 +02:00
Andre Heider
235d6eec75 prereq-build: limit python distutils check to <v3.12
v3.12 won't have it anymore.

Signed-off-by: Andre Heider <a.heider@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16699
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 8191c8980f)
Link: https://github.com/openwrt/openwrt/pull/19513
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-24 22:00:58 +02:00
Paul Spooren
ba84c3640b prereq-build: add Python 3.12 support
This reverts commit 09b7e1955c.

Signed-off-by: Paul Spooren <mail@aparcar.org>
Link: https://github.com/openwrt/openwrt/pull/16699
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit bf059f7108)
Signed-off-by: Andreas Gnau <andreas.gnau@iopsys.eu>
Link: https://github.com/openwrt/openwrt/pull/19513
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-24 22:00:58 +02:00
Shiji Yang
6dcf9882e4 kernel: bump 5.15 to 5.15.189
Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.189

Manually rebased patches:
  bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch[1]
  bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch[1]
  bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch[1]
  bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch[1]

All other patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.189&id=e262ff8d634cf6e0028fb7b3643cdd8b758513be

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19466
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-21 23:04:05 +02:00
Shiji Yang
b887384eb0 kernel: bump 5.15 to 5.15.188
Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.188

There are no patches that need to be refreshed.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19466
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-21 23:04:05 +02:00
Hauke Mehrtens
50243ef2d8 mac80211: Update to version 6.1.145-1
This updates mac80211 to version 6.1.145-1. This code is based on Linux
6.1.145 and contains all fixes included in the upstream wireless
subsystem from that kernel version. This includes many bugfixes and also
some security fixes.

The removed patches were applied upstream.

Link: https://github.com/openwrt/openwrt/pull/16948
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-16 19:47:22 +02:00
Shiji Yang
6747179486 kernel: bump 5.15 to 5.15.187
Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.187

New Kconfig symbol:
  x86: enable MITIGATION_TSA[1]

All patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.187&id=f2b75f1368af22bb290f128e29bc64b619a9d54d

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19250
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-13 15:49:39 +02:00
Shiji Yang
d4a2742822 kernel: bump 5.15 to 5.15.186
Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.186

Manually rebased patch:
  realtek/patches-5.15/800-net-mdio-support-hardware-assisted-indirect-access.patch[1-2]

All other patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.186&id=694456462ed63a06adbb0b7f2396a2eb5cc153c0
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.186&id=014ad9210373d2104f6ef10e6bb999a7a0a4c50e

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19250
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-07-13 15:49:39 +02:00
Álvaro Fernández Rojas
ae5488a5cc kernel: r8125: update to v9.016.00
Changelog: https://github.com/openwrt/rtl8125/compare/9.015.00...9.016.00

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 60606fa980)
2025-06-11 18:43:16 +02:00
Álvaro Fernández Rojas
db1f15d576 kernel: r8168: add RSS variant
Instead of enabling RSS support, let's introduce a variant and let users
choose between both variants since it can cause network issues.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit cb3fc1aef9)
2025-06-11 18:43:00 +02:00
Álvaro Fernández Rojas
f316798bda kernel: r8127: rss: enable ENABLE_MULTIPLE_TX_QUEUE
We need both ENABLE_RSS_SUPPORT and ENABLE_MULTIPLE_TX_QUEUE in order to
support multiple RX and TX queues.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 7615de6ef0)
2025-06-11 18:43:00 +02:00
Álvaro Fernández Rojas
565809404d kernel: r8126: rss: enable ENABLE_MULTIPLE_TX_QUEUE
We need both ENABLE_RSS_SUPPORT and ENABLE_MULTIPLE_TX_QUEUE in order to
support multiple RX and TX queues.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit a3e51a3956)
2025-06-11 18:43:00 +02:00
Pavel Kubelun
56e044645d kernel: r8125: rss: enable ENABLE_MULTIPLE_TX_QUEUE
We need both ENABLE_RSS_SUPPORT and ENABLE_MULTIPLE_TX_QUEUE in order to
support multiple RX and TX queues.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18509
[bump release, improve commit description and package changes]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit d127963a46)
2025-06-11 18:43:00 +02:00
Pavel Kubelun
97bb0a4360 kernel: r8125: disable ASPM
Disable ASPM support for this NIC, fixing strange behavior problems, such as
increased latency, strange uneven throughput, etc.
With this option disabled the NIC achieves stable performance.
Upsteam r8169 driver disables ASPM by default for this NIC.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18509
[bump release, fix commit description, split 2nd tx queue part]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit f99b39fd0c)
2025-06-11 18:43:00 +02:00
Álvaro Fernández Rojas
8204c594ce kernel: r8127: load module at boot time
This allows the network interface naming to be stable, free from any
possible interaction from external USB network devices that might
claim usb* interface names.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit b5680bd113)
2025-06-11 18:34:53 +02:00
Álvaro Fernández Rojas
187213c669 kernel: r8126: load module at boot time
This allows the network interface naming to be stable, free from any
possible interaction from external USB network devices that might
claim usb* interface names.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 9bb151d0c6)
2025-06-11 18:34:36 +02:00
Álvaro Fernández Rojas
ad51fee6c9 kernel: r8125: load module at boot time
This allows the network interface naming to be stable, free from any
possible interaction from external USB network devices that might
claim usb* interface names.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18509
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit ce9f539672)
2025-06-11 18:34:19 +02:00
Álvaro Fernández Rojas
ae242eb34e kernel: r8168: load module at boot time
This allows the network interface naming to be stable, free from any
possible interaction from external USB network devices that might
claim usb* interface names.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 617961403c)
2025-06-11 18:34:01 +02:00
Álvaro Fernández Rojas
ea7d1f0913 kernel: r8101: load module at boot time
This allows the network interface naming to be stable, free from any
possible interaction from external USB network devices that might
claim usb* interface names.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 7aeb837bf4)
2025-06-11 18:33:46 +02:00
Álvaro Fernández Rojas
5bd18cb7c7 package: add kmod-r8127 ethernet driver
r8127 is an out of tree driver provided by Realtek for RTL8127 devices.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 851ea69d8e)
2025-06-11 18:32:45 +02:00
John Audia
040588ca75 openssl: update to 3.0.16
Changes between 3.0.15 and 3.0.16 [11 Feb 2025]

CVE-2024-13176[1] - Fixed timing side-channel in ECDSA signature
computation.

There is a timing signal of around 300 nanoseconds when the top word of
the inverted ECDSA nonce value is zero. This can happen with significant
probability only for some of the supported elliptic curves. In
particular the NIST P-521 curve is affected. To be able to measure this
leak, the attacker process must either be located in the same physical
computer or must have a very fast network connection with low latency.

CVE-2024-9143[2] - Fixed possible OOB memory access with invalid
low-level GF(2^m) elliptic curve parameters.

Use of the low-level GF(2^m) elliptic curve APIs with untrusted explicit
values for the field polynomial can lead to out-of-bounds memory reads
or writes. Applications working with "exotic" explicit binary (GF(2^m))
curve parameters, that make it possible to represent invalid field
polynomials with a zero constant term, via the above or similar APIs,
may terminate abruptly as a result of reading or writing outside of
array bounds. Remote code execution cannot easily be ruled out.

1. https://www.openssl.org/news/vulnerabilities.html#CVE-2024-13176
2. https://www.openssl.org/news/vulnerabilities.html#CVE-2024-9143

Build system: x86/64
Build-tested: bcm27xx/bcm2712
Run-tested: bcm27xx/bcm2712

Signed-off-by: John Audia <therealgraysky@proton.me>
Link: https://github.com/openwrt/openwrt/pull/17947
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit b4e6fd7b76)
(cherry picked from commit 3abbc15454)
Link: https://github.com/openwrt/openwrt/pull/19073
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-11 15:43:15 +02:00
Hauke Mehrtens
d0179c8176 wolfssl: Update to version 5.7.6
This fixes multiple bugs and also minor security problems.

Changelog:
https://github.com/wolfSSL/wolfssl/releases/tag/v5.7.4-stable
https://github.com/wolfSSL/wolfssl/releases/tag/v5.7.6-stable

The package size increases:
525814 bin/packages/mips_24kc/base/libwolfssl5.7.2.e624513f-5.7.2-r1.apk
549408 bin/packages/mips_24kc/base/libwolfssl5.7.6.e624513f-5.7.6-r1.apk

Link: https://github.com/openwrt/openwrt/pull/17742
(cherry picked from commit 0a7e92c244)
(cherry picked from commit 6f7bbd0395)
Link: https://github.com/openwrt/openwrt/pull/19073
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-11 15:43:15 +02:00
Hauke Mehrtens
d903a23de4 grub2: set -std=gnu17
Arch Linux updated to GCC15 which now defaults to GNU23 as the default
instead of GNU17[1], and this breaks grub compilation.

This is fixed in more recent grub2 versions.

[1] https://gcc.gnu.org/gcc-15/porting_to.html#c23

Link: https://github.com/openwrt/openwrt/pull/19065
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:37:01 +02:00
Robert Marko
bc48bf7013 jsonfilter: update to Git HEAD (2025-04-18)
8a86fb78235b build: set GNU17 for lemon compilation

Link: https://github.com/openwrt/openwrt/pull/18525
(cherry picked from commit 891c8244f2)
Link: https://github.com/openwrt/openwrt/pull/18581
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit e0069e7587)
Link: https://github.com/openwrt/openwrt/pull/19065
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:37:01 +02:00
Hauke Mehrtens
2c36ed03e5 toolchain: gdb: set -std=gnu17
Arch Linux updated to GCC15 which now defaults to GNU23 as the default
instead of GNU17[1], and this breaks gdb compilation.

This is fixed in more recent gdb versions.

[1] https://gcc.gnu.org/gcc-15/porting_to.html#c23

Link: https://github.com/openwrt/openwrt/pull/19065
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:36:54 +02:00
Robert Marko
bd9b964b24 toolchain: binutils: fix compilation with GCC15
GCC15 has switched the C language default from GNU17 to GNU23[1] and this
causes builds to fail with:
In file included from mips-opc.c:29:
mips-opc.c: In function 'decode_mips_operand':
mips-formats.h:86:7: error: expected identifier or '(' before 'static_assert'
   86 |       static_assert[(1 << (SIZE)) == ARRAY_SIZE (MAP)]; \
      |       ^~~~~~~~~~~~~
mips-opc.c:214:15: note: in expansion of macro 'MAPPED_REG'
  214 |     case 'z': MAPPED_REG (0, 0, GP, reg_0_map);
      |               ^~~~~~~~~~

So, backport upstream fix for this[2] to fix compilation with GCC15.
Patch for 2.40 was manually refreshed as part of the S390 code does not
exist in 2.40 as it was added after it.

[1] https://gcc.gnu.org/gcc-15/porting_to.html#c23
[2] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=8ebe62f3f0d27806b1bf69f301f5e188b4acd2b4

Fixes: #18678
Link: https://github.com/openwrt/openwrt/pull/18681
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit d3216173ab)
Link: https://github.com/openwrt/openwrt/pull/19065
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:28:26 +02:00
Robert Marko
75d2f9f1c8 tools: gmp: fix compilation with GCC15
Fedora 42 updated to GCC15 which now defaults to GNU23 as the default
instead of GNU17[1], and this breaks GMP compilation by failing to find
a working compiler test.

Its been fixed upstream [2][3], so backport the fix to fix GCC15 compilation.

[1] https://gcc.gnu.org/gcc-15/porting_to.html#c23
[2] https://gmplib.org/repo/gmp/rev/8e7bb4ae7a18
[3] https://gmplib.org/repo/gmp/rev/d66d66d82dbb

Link: https://github.com/openwrt/openwrt/pull/18506
(cherry picked from commit 31800db91d)
Link: https://github.com/openwrt/openwrt/pull/18581
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit d9fccc8e1a)
Link: https://github.com/openwrt/openwrt/pull/19065
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:28:26 +02:00
Nick Hainke
898c336e89 tools/b43-tools: update to latest version, fix C23 build
Update b43-tools to the latest upstream version to fix a
compilation error with C23:

  util.h:25:15: error: 'bool' cannot be defined via 'typedef'
     25 | typedef _Bool bool;
        |               ^~~~

Changelog:
c6fc53f replace custom bool typedef with <stdbool.h>
dadf30c fix format warning in compilation
2fe10ea b43-fwdump: Fix forwarding of arguments to disassembler

Link: https://github.com/openwrt/openwrt/pull/18708
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit f8da45e25d)
Link: https://github.com/openwrt/openwrt/pull/19065
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:28:26 +02:00
Hauke Mehrtens
fe37f2e52a tools: elfutils: fix compilation with GCC15
Backport fix from upstream to fix compilation with host GCC 15.
https://sourceware.org/git/?p=elfutils.git;a=commitdiff_plain;h=7508696d107ca01b65ce8273c881462a8658f90f

Link: https://github.com/openwrt/openwrt/pull/19065
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:28:26 +02:00
Robert Marko
6fc7344c93 tools: elfutils: set -std=gnu17
Fedora 42 updated to GCC15 which now defaults to GNU23 as the default
instead of GNU17[1], and this breaks m4 compilation.

This looks like a gnulib issue, so until that is updated/fixed
lets simply set C language version back to GNU17.

[1] https://gcc.gnu.org/gcc-15/porting_to.html#c23

Link: https://github.com/openwrt/openwrt/pull/18506
(cherry picked from commit f165dd2f78)
Link: https://github.com/openwrt/openwrt/pull/18581
Signed-off-by: Robert Marko <robimarko@gmail.com>
[Rework patch to make it apply]
(cherry picked from commit 1e51fd037d)
Link: https://github.com/openwrt/openwrt/pull/19065
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:28:26 +02:00
Hauke Mehrtens
c678cfaa5b tools: e2fsprogs: fix compilation with GCC15
Backport fix from upstream to fix compilation with host GCC 15.
49fd04d77b

Link: https://github.com/openwrt/openwrt/pull/19065
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:28:26 +02:00
Robert Marko
b0d7794a95 tools: m4: set -std=gnu17
Fedora 42 updated to GCC15 which now defaults to GNU23 as the default
instead of GNU17[1], and this breaks m4 compilation.

Its been reported upstream [2], so until its fixed lets simply set C
language version back to GNU17.

[1] https://gcc.gnu.org/gcc-15/porting_to.html#c23
[2] https://savannah.gnu.org/support/?111150

Link: https://github.com/openwrt/openwrt/pull/18505
(cherry picked from commit 8c141e53d7)
Link: https://github.com/openwrt/openwrt/pull/18581
Signed-off-by: Robert Marko <robimarko@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19065
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:28:26 +02:00
Robert Marko
fe5e590b46 tools: cpio: fix compilation with GCC15
Fedora 42 updated to GCC15 which now defaults to GNU23 as the default
instead of GNU17[1], and this breaks cpio compilation.

Its been reported upstream [2], so import the patch attached to the bug
report that fixes compilation with GCC15.

[1] https://gcc.gnu.org/gcc-15/porting_to.html#c23
[2] https://savannah.gnu.org/bugs/?66297

Link: https://github.com/openwrt/openwrt/pull/18506
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit c5041094ba)
Link: https://github.com/openwrt/openwrt/pull/19065
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-08 21:28:26 +02:00
Shiji Yang
f75d7a5954 kernel: bump 5.15 to 5.15.185
Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.185

All patches are automatically refreshed.

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19028
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-07 22:45:47 +02:00
Shiji Yang
f932613def kernel: bump 5.15 to 5.15.184
Changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.184

New Kconfig symbols:
- enable CONFIG_MITIGATION_ITS[1]

All patches are automatically refreshed.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.15.184&id=858073be8899e16cc469be9c1837d6c3a64887fa

Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/19028
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-06-07 22:45:47 +02:00
Robert Marko
1417fdfc90 image: only filter out images when ImageBuilder is used
Currently, we are filtering out images if DEFAULT:=n or BROKEN:=y are set,
so if you are building from scratch and want to build custom images that
are stripped down to fit, you must edit the image recipe or its just
filtered out.

So, to allow this behaviour when building from scratch as we can assume
that person doing that knows what they are attempting to do lets just limit
the filtering to ImageBuilder.

Fixes: f060615a78 ("image: respect DEFAULT and BROKEN when Default profile is selected")
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit d0d1f19068)
2025-05-24 21:52:05 +02:00
Robert Marko
6b0bbe3223 image: respect DEFAULT and BROKEN when Default profile is selected
Currently, when you select the Default profile it does not honor DEFAULT:=n
nor BROKEN:=y in device profiles but rather just tries to build all of them.

This may work when building directly, but when using Image Builder it will
always fail since no kernel or anything else is present for devices that
have DEFAULT:=n or BROKEN:=Y set since those are skipped during build.

So, lets look for DEFAULT being set to "n" or BROKEN being set to "y" and
then remove clear _PROFILE_SET so they dont end up being marked for
installation.

Fixes: #18410
Link: https://github.com/openwrt/openwrt/pull/18814
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit f060615a78)
2025-05-24 21:51:55 +02:00
Eric Fahlgren
876932b850 imagebuilder: exclude metadata for profiles that have no kernel
Device profiles that specify 'DEFAULT := n' are being included
in the imagebuilder metadata, specifically in .profiles.mk, even
though there is no kernel built for the device.  This results in
'make info' showing the device as valid, but then 'make image
PROFILE=xxx' failing with 'No rule to make target xxx-kernel.bin ...'

We exclude these profiles from the imagebuilder, avoiding these
errors.

Fixes: https://github.com/openwrt/openwrt/issues/18410
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18748
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit b88f3ebb33)
2025-05-24 21:51:39 +02:00
Antony Kolitsos
fc75f87823 kernel: Update to version 5.15.183
All patches automatically rebased.

changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.183

Signed-off-by: Antony Kolitsos <zeusomighty@hotmail.com>
2025-05-24 16:50:43 +02:00
Antony Kolitsos
3b3d16ec49 kernel: Update to version 5.15.182
Manually adapted the following patches:
   generic/backport-5.15/828-v6.4-0002-of-Update-of_device_get_modalias.patch
   generic/backport-5.15/828-v6.4-0004-of-Move-of_modalias-to-module.c.patch

changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.15.182

Signed-off-by: Antony Kolitsos <zeusomighty@hotmail.com>
2025-05-24 16:50:43 +02:00
Rosen Penev
417e79967c tools: add cmake dependency to bzip2
It's using cmake.mk so it needs CMake to build.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18880
(cherry picked from commit 9deb8fad2f)
Signed-off-by: Felix Baumann <felix.bau@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/18885
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-24 11:31:50 +02:00
Hannu Nyman
3430dee9d3 ca-certificates: Update to 20241223
Update ca-certificates to version 20241223

  * Update Mozilla certificate authority bundle to version 2.70.
    The following certificate authorities were added (+):
    + Telekom Security TLS ECC Root 2020
    + Telekom Security TLS RSA Root 2023
    + FIRMAPROFESIONAL CA ROOT-A WEB
    + TWCA CYBER Root CA
    + SecureSign Root CA12
    + SecureSign Root CA14
    + SecureSign Root CA15
    The following certificate authorities were removed (-):
    - Security Communication Root CA (closes: #1063093)

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Link: https://github.com/openwrt/openwrt/pull/18468
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit c79572210f)
Link: https://github.com/openwrt/openwrt/pull/18872
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-23 00:07:49 +02:00
Seo Suchan
a4241700a9 ca-certificates: update to version 20240203
Update Mozilla certificate authority bundle to version 2.64

Signed-off-by: Seo Suchan <tjtncks@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/18872
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 6b904fa95b)
2025-05-23 00:07:41 +02:00
Antony Kolitsos
46ee3045b9 generic: drop extra-old-deprecated pending fix patch for sch codel
Remove patch 620-net_sched-codel-do-not-defer-queue-length-update from openwrt-23.05 as well.

Patch is actually an ancient patch that somehow manage to be ported for 7 solid years.

This comes from [1] where a fix patch was proposed. Nobody notice that the proposed patch was actually rejected upstream in favor of [2]. And the upstream fix patch is present in kernel from version 4.18.

This means that we were actually fixing for a non existant bug and maybe introducing regression down the line.

Drop the patch for good as we already have a fix for it in flace for a long time.

[1] https://bugzilla.kernel.org/show_bug.cgi?id=109581
[2] torvalds/linux@35b42da

Automatic refresh:
target/linux/generic/hack-5.15/660-fq_codel_defaults.patch

Tested on ramips/mt7621

Signed-off-by: Antony Kolitsos <zeusomighty@hotmail.com>
Link: https://github.com/openwrt/openwrt/pull/18791
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-17 09:35:45 +02:00
Rudy Andram
deb967324c wireless-regdb: Update to version 2025.02.20
b43aeb5 wireless-regdb: assert and correct maximum bandwidth within frequency difference
68588bf wireless-regdb: Update regulatory info for Syria (SY) for 2020
0dda57e wireless-regdb: Update regulatory info for Moldova (MD) on 6GHz for 2022
b19ab0b wireless-regdb: Update regulatory info for Azerbaijan (AZ) on 6GHz for 2024
f67f40d wireless-regdb: Update regulatory info for Oman (OM)
bd70876 wireless-regdb: Update regulatory rules for Armenia (AM) on 2.4 and 5 GHz
6c7cbcc wireless-regdb: Permit 320 MHz bandwidth in 6 GHz band in ETSI/CEPT
f9f6b30 wireless-regdb: Update regulatory rules for Austria (AT)
39b47ea wireless-regdb: Update regulatory info for Cayman Islands (KY) for 2024
3dd7ceb wireless-regdb: allow NO-INDOOR flag in db.txt
4d754a1 wireless-regdb: Update regulatory rules for Iran (IR) on both 2.4 and 5Ghz for 2021
8c8308a wireless-regdb: Update frequency range with NO-INDOOR for Oman (OM)
c2f11e2 wireless-regdb: update regulatory database based on preceding changes

Signed-off-by: Rudy Andram <rmandrad@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17957
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit da2cc98458)
2025-05-15 23:56:25 +02:00
Antony Kolitsos
6c51ea2eea mbedtls: update to 2.28.10
This release of Mbed TLS provides bug fixes and minor enhancements. This release includes fixes for security issues.

Mbed TLS 2.28.10 is the last release of the 2.28 LTS and won't receive bug fixes or security fixes anymore.
Users are advised to upgrade to a maintained version.

* CVE-2025-27810: Potential authentication bypass in TLS handshake [1]
* CVE-2025-27809: TLS clients should generally call mbedtls_ssl_set_hostname [2]

[1] https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2025-03-2/
[2] https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2025-03-1/

Full release announcement:
https://github.com/Mbed-TLS/mbedtls/releases/tag/mbedtls-2.28.10

Signed-off-by: Antony Kolitsos <zeusomighty@hotmail.com>
Link: https://github.com/openwrt/openwrt/pull/18793
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-15 20:32:41 +02:00
Hauke Mehrtens
87bc997e53 kernel: Update to version 5.15.181
Manually adapted the following patches:
   bcm27xx/patches-5.15/950-0612-media-i2c-ov7251-Make-the-enable-GPIO-optional.patch

Link: https://github.com/openwrt/openwrt/pull/18710
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-05-07 21:27:25 +02:00
Arne Zachlod
b4728c3e5a tools/ninja: fix build with python 3.13+
python 3.13 removed the pipes module. Replace pipes by shlex. shlex was introduced into python in 3.3

Signed-off-by: Arne Zachlod <arne@nerdkeller.org>
Link: https://github.com/openwrt/openwrt/pull/18582
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-05-06 11:15:29 +02:00
Andrew MacIntyre
b0834b0265 kernel: add missing symbol (BLOCK_LEGACY_AUTOLOAD)
As of kernel v5.15.179 kernel configuration fails without a
reference to BLOCK_LEGACY_AUTOLOAD, apparently as a consequence
of commit 3e9899c12d5ab3a8ce376bf4365175ea3dbaffc0 (backport of
6c0f5898836c05c6d850a750ed7940ba29e4e6c5), so add this symbol as
unset which is the same state the symbol has in the 6.6 kernel
config for 24.10.

Fixes: dfe1b5e82a ("kernel: Update to version 5.15.179")
Signed-off-by: Andrew MacIntyre <andymac@pcug.org.au>
Link: https://github.com/openwrt/openwrt/pull/18552
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-22 18:52:49 +02:00
Hauke Mehrtens
880258bb1d kernel: Update to version 5.15.180
No manual changes needed.

Link: https://github.com/openwrt/openwrt/pull/18012
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-13 02:53:07 +02:00
Hauke Mehrtens
dfe1b5e82a kernel: Update to version 5.15.179
Removed the following patches because they were upstreamed:
   bcm27xx/patches-5.15/950-0020-drm-probe-helper-Create-a-HPD-IRQ-event-helper-for-a.patch [0]
   bcm47xx/patches-5.15/701-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch [1]
   bcm53xx/patches-5.15/700-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch [1]

Manually adapted the following patches:
   bcm27xx/patches-5.15/950-0151-usb-add-plumbing-for-updating-interrupt-endpoint-int.patch
   bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch

[0]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=5211d75e2cb75cb129602247e79058f26afb4104
[1]: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=3ce32a9fb1d210f1e8384ebbfc336b64d3c131bd

Link: https://github.com/openwrt/openwrt/pull/18012
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-13 02:53:07 +02:00
Hauke Mehrtens
271c9ac39a kernel: Update to version 5.15.178
No manual changes needed.

Link: https://github.com/openwrt/openwrt/pull/18012
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-13 02:53:07 +02:00
Hauke Mehrtens
730df799ee kernel: Update to version 5.15.177
No manual changes needed.

Link: https://github.com/openwrt/openwrt/pull/18012
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-13 02:53:07 +02:00
Hauke Mehrtens
760721d6f0 kernel: Update to version 5.15.176
No manual changes needed.

Link: https://github.com/openwrt/openwrt/pull/18012
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-13 02:53:07 +02:00
Hauke Mehrtens
829ff45697 kernel: Update to version 5.15.175
No manual changes needed.

Link: https://github.com/openwrt/openwrt/pull/18012
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-13 02:53:07 +02:00
Hauke Mehrtens
f15fa8b343 kernel: Update to version 5.15.174
Manually adapted the following patches:
   bcm27xx/patches-5.15/950-0156-drm-v3d-Skip-MMU-flush-if-the-device-is-currently-of.patch
   bcm27xx/patches-5.15/950-0173-drm-v3d-Delete-pm_runtime-support.patch
   generic/hack-5.15/780-usb-net-MeigLink_modem_support.patch

Link: https://github.com/openwrt/openwrt/pull/18012
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-13 02:53:07 +02:00
Shiji Yang
86dfa17101 ramips: fix image recipe for ASUS RT-N56U
The OpenWrt image metadata includes checksum validation. Therefore,
it must be generated at the end.

Fixes: https://github.com/openwrt/openwrt/issues/9045
Fixes: https://github.com/openwrt/openwrt/issues/13674
Link: https://patchwork.ozlabs.org/project/openwrt/patch/TYCP286MB08952FAACDFA234C5E052131BCD82@TYCP286MB0895.JPNP286.PROD.OUTLOOK.COM/
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Signed-off-by: Luke Morrison <lfmorrison@gmail.com>
(cherry picked from commit 708b77f549)
Link: https://github.com/openwrt/openwrt/pull/17678
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-10 21:28:55 +02:00
Shiji Yang
dfdeda4b85 uboot-mediatek: fix image overlaps SPL issue
Backport u-boot linker symbol fixes from u-boot v2024.01 to fix the
image overlaps SPL issue.

Fixes: https://github.com/openwrt/openwrt/issues/17120
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Link: https://github.com/openwrt/openwrt/pull/17264
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2025-04-10 21:25:24 +02:00
Nick Hainke
dec59db8fb libxml2: update to 2.13.6
Release Notes:
https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.5
https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.6

Fixes: CVE-2025-24928 CVE-2024-56171

Link: https://github.com/openwrt/openwrt/pull/18194
Signed-off-by: Nick Hainke <vincent@systemli.org>
Link: https://github.com/openwrt/openwrt/pull/18280
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-03-31 13:57:20 +02:00
Hauke Mehrtens
94751c9959 libxml2: update to 2.13.4
Release Notes:
https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.0
https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.1
https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.2
https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.3
https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.13.4

Small size reduction:
415095 bin/packages/mips_24kc-old/base/libxml2_2.12.6-r1_mips_24kc.ipk
 87175 bin/packages/mips_24kc-old/base/libxml2-dev_2.12.6-r1_mips_24kc.ipk
 20190 bin/packages/mips_24kc-old/base/libxml2-utils_2.12.6-r1_mips_24kc.ipk
398070 bin/packages/mips_24kc-new/base/libxml2_2.13.4-r1_mips_24kc.ipk
 86760 bin/packages/mips_24kc-new/base/libxml2-dev_2.13.4-r1_mips_24kc.ipk
 19479 bin/packages/mips_24kc-new/base/libxml2-utils_2.13.4-r1_mips_24kc.ipk

Link: https://github.com/openwrt/openwrt/pull/16593
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/18280
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-03-31 13:57:20 +02:00
Hauke Mehrtens
066e418c70 libxml2: update to 2.12.9
Release Notes:
https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.12.7
https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.12.8
https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.12.9

This fixes:
CVE-2024-34459: Fix buffer overread with xmllint --htmlout
CVE-2024-40896: Fix XXE protection in downstream code

Link: https://github.com/openwrt/openwrt/pull/16593
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/18280
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-03-31 13:57:20 +02:00
Pascal Ernster
2820ab6a28 libxml2: update to 2.12.6
Release Notes:
https://gitlab.gnome.org/GNOME/libxml2/-/releases/v2.12.6

Changelog (taken from the release notes):
- Regressions
  - parser: Fix detection of duplicate attributes in XML namespace
  - xmlreader: Fix xmlTextReaderConstEncoding
  - html: Fix htmlCreatePushParserCtxt with encoding
  - xmllint: Return error code if XPath returns empty nodeset

Compile-tested: x86_x64, Q35 VM, OpenWRT SNAPSHOT r26135-a8bfdf2ed4d9
Run-tested: x86_x64, Q35 VM, OpenWRT SNAPSHOT r26135-a8bfdf2ed4d9
Signed-off-by: Pascal Ernster <git@hardfalcon.net>
Link: https://github.com/openwrt/openwrt/pull/18280
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-03-31 13:57:20 +02:00
Christian Marangi
16810687a2 mac80211: fix compilation error for old stable kernel version
Fix compilation error for old stable version caused by
genlmsg_multicast_allns backport fix pushed middle version.

Version 5.15 version 0-169, 6.1 version 0-115, 6.6 version 0-58 have the
old genlmsg_multicast_allns version with flags variable.

Compiling backport project with these version result in a compilation
error. To handle this, introduce a backport function for the affected
kernel version.

Link: https://github.com/openwrt/openwrt/pull/18373
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 4039388149)
2025-03-30 17:01:31 +02:00
Paul Donald
677edb0bbc lldpd: add custom-tlv handling
Do not verify the format of TLV. Leave that to lldpd.

These lldpd config entries:

config custom-tlv
	list ports 'eth0'
	option tlv 'replace oui 33,44,55 subtype 254 oui-info 55,55,55,55,55'

config custom-tlv
	option tlv 'oui 33,44,44 subtype 232'
	list ports 'br-lan'
	list ports 'eth0'

config custom-tlv # oui-info truncated
	option tlv 'add oui 33,44,33 subtype 66 oui-info 5555555555'

config custom-tlv
	option tlv 'add oui 33,44,31 subtype 44'

config custom-tlv # invalid oui
	option tlv 'add oui 3322 subtype 79'

config custom-tlv # invalid oui
	option tlv 'oui 3312 subtype 74'

Produce the following lldpd.conf content:

configure ports eth0 lldp custom-tlv replace oui 33,44,55 subtype 254 oui-info 55,55,55,55,55
configure ports br-lan,eth0 lldp custom-tlv oui 33,44,44 subtype 232
configure lldp custom-tlv add oui 33,44,33 subtype 66 oui-info 5555555555
configure lldp custom-tlv add oui 33,44,31 subtype 44
configure lldp custom-tlv add oui 3322 subtype 79
configure lldp custom-tlv oui 3312 subtype 74

And lldpd (v1.0.13 on v22) logs the following:

Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op replace oui 33:44:55 subtype fe
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:44 subtype e8
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:33 subtype 42
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:33 subtype 42
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:31 subtype 2c
Sat Mar 16 19:11:39 2024 daemon.info lldpd[10916]: custom TLV op add oui 33:44:31 subtype 2c
Sat Mar 16 19:11:39 2024 daemon.warn lldpcli[10915]: invalid OUI value '3322'
Sat Mar 16 19:11:39 2024 daemon.info lldpcli[10915]: an error occurred while executing last command
Sat Mar 16 19:11:39 2024 daemon.warn lldpcli[10915]: invalid OUI value '3312'
Sat Mar 16 19:11:39 2024 daemon.info lldpcli[10915]: an error occurred while executing last command
Sat Mar 16 19:11:39 2024 daemon.info lldpcli[10915]: lldpd should resume operations

( The last two TLV are invalid: their oui must be three hex bytes, comma
separated. Only the first hex byte of oui-info 5555555555 is used )

Depends on #14867 and its release version bump

Tested on: 22.03.6

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14872
(cherry picked from commit 8d1fe32c2c)
Link: https://github.com/openwrt/openwrt/pull/18344
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-03-25 09:54:08 +01:00
Paul Donald
f856aff0f6 lldpd: get_config_cid_ifaces() -> get_interface_csv()
where csv = comma separated value(s)

Make the function more generic. Can use it for not only 'config'.

Now it can be used to parse interfaces for additional lldpd settings,
e.g. custom-tlv.

Tested on: 22.03.6

Signed-off-by: Paul Donald <newtwen+github@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/14872
(cherry picked from commit a015f59880)
Link: https://github.com/openwrt/openwrt/pull/18344
Signed-off-by: Robert Marko <robimarko@gmail.com>
2025-03-25 09:54:08 +01:00
Christian Marangi
dc84b287b5 generic: globally enable CONFIG_PCPU_DEV_REFCNT
Quoting the kconfig description for CONFIG_PCPU_DEV_REFCNT:

network device refcount are using per cpu variables if this option is
set. This can be forced to N to detect underflows (with a performance
drop).

This was introduced from kernel 5.13 and was wrongly set as disabled.
Some target actually enables it but this should be always enabled unless
refcount needs to be debugged (unlikely for production images)

Enable in generic and drop the entry in every other target.

Link: https://github.com/openwrt/openwrt/pull/18174
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit ea6f3e49d6)
[ adapt for kernel 5.15 ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-03-19 09:32:40 +01:00
Cedric CHEDALEUX
081ff3eee2 scripts/feeds: shallow clone submodules
When a feed has submodules, all its submodules are fully cloned whereas
the feed itself is shallowed. Let's be consistent and perform shallow clones
as well for the submodules.

Signed-off-by: Cedric CHEDALEUX <cedric.chedaleux@orange.com>
Link: https://github.com/openwrt/openwrt/pull/18003
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 9ec32cfb27)
Link: https://github.com/openwrt/openwrt/pull/18168
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-03-05 14:19:01 +01:00
Cedric CHEDALEUX
775f9d56ce scripts/feeds: shallow clone for specific commit update
When a feed is referenced with a specific commit (i.e. <git_url>^<sha1>),
a full clone was performed and a branch was created from the sha1
and named with the sha1. Other git clones operations are shallowed.

As Git does not support clone at a specific commit, let's first perform
a shallow clone to latest commit, then fetch the relevant commit and
finally checkout it (no more 'pseudo' branch).

It saves bandwith and significantly speeds up the feed update process.

Signed-off-by: Cedric CHEDALEUX <cedric.chedaleux@orange.com>
Link: https://github.com/openwrt/openwrt/pull/18003
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 32d0a57dc1)
Link: https://github.com/openwrt/openwrt/pull/18168
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2025-03-05 14:18:58 +01:00
Álvaro Fernández Rojas
6935d0fac5 kernel: r8126: update to v10.015.00
Changelog: https://github.com/openwrt/rtl8126/compare/10.014.01...10.015.00

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 3d3328bf5f)
2025-02-27 12:04:22 +01:00
Álvaro Fernández Rojas
7aac01cf88 kernel: r8125: update to v9.015.00
Changelog: https://github.com/openwrt/rtl8125/compare/9.014.01...9.015.00

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit a8dea562aa)
2025-02-27 12:04:19 +01:00
Álvaro Fernández Rojas
4e41f2385d kernel: r8168: update to v8.055.00
Changelog: https://github.com/openwrt/rtl8168/compare/8.054.00...8.055.00

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 5dd763680e)
2025-02-05 15:19:31 +01:00
Daniel Golle
d62241cf5a mediatek: mt7622: fix SATA on BPi-R64
A commit which made their way into Linux stable down to 5.15 broke the
SATA support on the BPi-R64.

Fix this by importing a (still pending) patch re-adding the 'syscon'
compatible to the pciesys clock-controller which also contains phy-mode
bits referenced by the ahci_mtk driver expecting to access them using
syscon_regmap_lookup_by_phandle().

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 69890e16b3)
2025-02-01 05:19:18 +00:00
Álvaro Fernández Rojas
1292a493a6 bmips: shg2500: add missing led controller cells
Fixes the following DT warnings:
../dts/bcm63168-sercomm-shg2500.dts:76.4-14: Warning (reg_format): /ubus/spi@10001000/led-controller@1/led@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
../dts/bcm63168-sercomm-shg2500.dts:75.9-78.5: Warning (avoid_default_addr_size): /ubus/spi@10001000/led-controller@1/led@1: Relying on default #address-cells value
../dts/bcm63168-sercomm-shg2500.dts:75.9-78.5: Warning (avoid_default_addr_size): /ubus/spi@10001000/led-controller@1/led@1: Relying on default #size-cells value

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit fbe0bd5f64)
2025-01-28 08:36:43 +01:00
Sander Vanheule
4f2c6dbc39 realtek: Fix old compatible for HPE 1920-8G PoE
Supported devices are listed in the metadata as the first part of the
DTS compatible. This normally follows the format "vendor,device".

When updating the device name of the 180W 1920-8G PoE an underscore was
used, instead of a comma, to join the vendor and device name. This will
lead to warnings for users wanting to sysupgrade a device with an older
compatible, as the device's info does not match the one the metadata.

Fixes: 987c96e889 ("realtek: rename hpe,1920-8g-poe to match hardware")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit 6a7fa68569)
2025-01-24 17:17:19 +01:00
Álvaro Fernández Rojas
b5ad709554 generic: backport pending gpio-regmap ops patch
This patch has been accepted for linux v6.14 so we can move it from pending
to backport.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 2f2e21a52b)
2025-01-22 21:01:01 +01:00
Álvaro Fernández Rojas
55af6e1af0 generic: add gpio-regmap request/free ops patch
This patch is needed on bmips since it fixes issues with GPIOs not being
properly configured due to gpio_request_enable not being called on bcm63xx
devices. Therefore we can now drop the bcm63268 gpio function patch.

Backported from f5b1d340be with the exception of
the realtek and bmips patches removal.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit f5b1d340be)
2025-01-08 19:59:28 +01:00
David Lutz
125a2e1311 ath79: Add support for Sophos AP15C
The Sophos AP15C uses the same hardware as the AP15, but has a reset button.

Based on:
commit 6f1efb2898 ("ath79: add support for Sophos AP100/AP55 family")
author    Andrew Powers-Holmes <andrew@omnom.net>
          Fri, 3 Sep 2021 15:53:57 +0200 (23:53 +1000)
committer Hauke Mehrtens <hauke@hauke-m.de>
          Sat, 16 Apr 2022 16:59:29 +0200 (16:59 +0200)

Unique to AP15C:
 - Reset button
 - External RJ45 serial console port

Flashing instructions:

This firmware can be flashed either via a compatible Sophos SG or XG
firewall appliance, which does not require disassembling the device, or via
the U-Boot console available on the internal UART header.

To flash via XG appliance:
 - Register on Sophos' website for a no-cost Home Use XG firewall license
 - Download and install the XG software on a compatible PC or virtual
   machine, complete initial appliance setup, and enable SSH console access
 - Connect the target AP device to the XG appliance's LAN interface
 - Approve the AP from the XG Web UI and wait until it shows as Active
   (this can take 3-5 minutes)
 - Connect to the XG appliance over SSH and access the Advanced Console
   (Menu option 5, then menu option 3)
 - Run `sudo awetool` and select the menu option to connect to an AP via
   SSH. When prompted to enable SSH on the target AP, select Yes.
 - Wait 2-3 minutes, then select the AP from the awetool menu again. This
   will connect you to a root shell on the target AP.
 - Copy the firmware to /tmp/openwrt.bin on the target AP via SCP/TFTP/etc
 - Run `mtd -r write /tmp/openwrt.bin astaro_image`
 - When complete, the access point will reboot to OpenWRT.

To flash via U-Boot serial console:
 - Configure a TFTP server on your PC, and set IP address 192.168.99.8 with
   netmask 255.255.255.0
 - Copy the firmware .bin to the TFTP server and rename to 'uImage_AP15C'
 - Open the target AP's enclosure and locate the 4-pin 3.3V UART header [4]
 - Connect the AP ethernet to your PC's ethernet port
 - Connect a terminal to the UART at 115200 8/N/1 as usual
 - Power on the AP and press a key to cancel autoboot when prompted
 - Run the following commands at the U-Boot console:
    - `tftpboot`
    - `cp.b $fileaddr 0x9f070000 $filesize`
    - `boot`
 - The access point will boot to OpenWRT.

Signed-off-by: David Lutz <kpanic@hirnduenger.de>
2024-12-27 13:18:24 +01:00
Kyle Hendry
515ffb40cb bmips: dts: fix pinctrl error
The kernel logs the error "bcm6368_nand 10000200.nand: there is not valid
maps for state default" on boot and all nand pins show as UNCLAIMED in
sysfs pinmux-pins.

bcm6362.dtsi, bcm6368.dtsi and bcm63268.dtsi use the undocumented property
group which the driver doesn't understand. This has been documented upstream
in commit caf963efd4b0b9ff42ca12e52b8efe277264d35b.

Replacing group with pins allows the nand pins to be properly configured.

Signed-off-by: Kyle Hendry <kylehendrydev@gmail.com>
[add bcm636/bcm6368 and fix commit title]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit d1e9c50d06)
2024-12-24 11:26:42 +01:00
Chris Jones
b551214c9d ipq40xx: make GL.iNet A1300 switch functional
Set the physical switch to KEY_RFKILL, since its previous value
(KEY_SETUP) is unsupported. This should also make the KEY_RESET button
functional, by allowing the gpio-button-hotplug kmod to load.

Signed-off-by: Chris Jones <cmsj@tenshu.net>
Link: https://github.com/openwrt/openwrt/pull/16564
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
(cherry picked from commit 83a04cd2b8)
Link: https://github.com/openwrt/openwrt/pull/17228
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-12-11 17:03:26 +01:00
Christian Marangi
239cdcd90c build: Unconditionally append kmod feed for BuildBot
Recent changes to BuildBot config moved the kmods to a dedicated
directory and dropped them from the packages dir. This was needed as
both OPKG and APK gets confused if both entry are present.

To fix this, unconditionally append the kmod feed line if
CONFIG_BUILDBOT is enabled.

Fixes: #17146
Link: https://github.com/openwrt/openwrt/pull/17151
(cherry picked from commit 53ee2e8c03)
[ fix conflict error for missing APK support ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2024-12-03 12:42:34 +01:00
Eric Fahlgren
db554fd450 build: profiles.json: add kernel version information
Currently downstream tools like ASU lack information about kernel
version to find out the relevant kmod build folder on downloads server.

So lets fix it by providing a new `linux_kernel` JSON array which would
for the start provide Linux kernel version, revision and vermagic
information.

  "linux_kernel": {
     "release": "1",
     "vermagic": "b57450c07d3a786158c3601fc5cee57d",
     "version": "6.6.61"
   },

Fixes: openwrt/openwrt#17036
Fixes: efahl/owut#9
Co-developed-by: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/17042
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit c857145e03)
2024-11-29 21:45:01 +01:00
Michael Pratt
6d5c434b14 build: ensure silent Make behavior for json scripts
Run the invocation of Make with verbosity in order to
prevent the printing of Makefile level and subtarget status.
e.g.  make[3] -C target/linux val.DEFAULT_PACKAGES val.ARCH_PACKAGES

Remove piping of stderr, which is only useful when using
the "communicate" method over the "run" method,
and this script would not be written to handle a captured error anyway.

For error testing, stdout and stderr can be set to a file object
with the open() function like this:

out = open('json_out', 'w')
err = open('json_err', 'w')

...
...
stdout=out,
stderr=err,

Signed-off-by: Michael Pratt <mcpratt@pm.me>
(cherry picked from commit fd3376c5ee)
2024-11-29 21:44:54 +01:00
Hauke Mehrtens
a281c02288 wifi-scripts: Fix parsing of Capabilities
Fixup capabilities parsing in iw output.

In addition to the normal capabilities iw now also outputs HE MAC, HE
PHY and EHT MAC and EHT PHY capabilities. Exclude them in the parsing.

The grep returns this with mac80211-hwsim:
```
root@OpenWrt:~# iw phy phy0 info | grep 'Capabilities:'
		Capabilities: 0x107e
			HE PHY Capabilities: (0x02bfce0000000000000000):
			EHT PHY Capabilities: (0x7c0000feffff7f01):
			HE PHY Capabilities: (0x02bfce0000000000000000):
			EHT PHY Capabilities: (0x7c0000feffff7f01):
			HE PHY Capabilities: (0x02bf000000000000000000):
		Capabilities: 0x107e
			HE PHY Capabilities: (0x1cbfce0000000000000000):
			EHT PHY Capabilities: (0xfc1f3ffeffff7f37):
			HE PHY Capabilities: (0x1cbfce0000000000000000):
			EHT PHY Capabilities: (0xfc1f3ffeffff7f37):
			HE PHY Capabilities: (0x1cbf000000000000000000):
			HE PHY Capabilities: (0x1cbfce0000000000000000):
			EHT PHY Capabilities: (0xfefffffeffffff7f):
			HE PHY Capabilities: (0x1cbfce0000000000000000):
			EHT PHY Capabilities: (0xfefffffeffffff7f):
			HE PHY Capabilities: (0x1cbf000000000000000000):
		Capabilities: 0x107e
```

With busybox 1.36.1 the ht_cap_mask variable will be set to
-72057598332895361. With busybox 1.37.0 it will be set to -1.
Both values are wrong, after this change it will be set to 4222
(0x107E).

Link: https://github.com/openwrt/openwrt/pull/17043
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit adf958c919)
2024-11-23 23:49:37 +01:00
Shiji Yang
d557e23932 ath79: lzma-loader: fix syntax error
C compiler can't parse '#else if'.

Fixes: f84a9f7dc0 ("ath79: add support for Huawei AP6010DN")
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16989
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 98f26346cb)
2024-11-23 23:23:23 +01:00
Marco von Rosenberg
769253775c ath79: add support for Huawei AP6010DN
Huawei AP6010DN is a dual-band, dual-radio 802.11a/b/g/n 2x2 MIMO
enterprise access point with one Gigabit Ethernet port and PoE
support.

Hardware highlights:
- CPU: AR9344 SoC at 480MHz
- RAM: 128MB DDR2
- Flash: 32MB SPI-NOR
- Wi-Fi 2.4GHz: AR9344-internal radio
- Wi-Fi 5GHz: AR9580 PCIe WLAN SoC
- Ethernet: 10/100/1000 Mbps Ethernet through Atheros AR8035 PHY
- PoE: yes
- Standalone 12V/2A power input
- Serial console externally available through RJ45 port
- External watchdog: CAT706SVI (1.6s timeout)

Serial console:
  9600n8 (9600 baud, no stop bits, no parity, 8 data bits)

MAC addresses:
  Each device has 32 consecutive MAC addresses allocated by
  the vendor, which don't overlap between devices.
  This was confirmed with multiple devices with consecutive
  serial numbers.
  The MAC address range starts with the address on the label.
  To be able to distinguish between the interfaces,
  the following MAC address scheme is used:
    - eth0 = label MAC
    - radio0 (Wi-Fi 2.4GHz) = label MAC + 1
    - radio1 (Wi-Fi 5GHz) = label MAC + 2

Installation:
0. Connect some sort of RJ45-to-USB adapter to "Console" port of the AP

1. Power up the AP

2. At prompt "Press f or F  to stop Auto-Boot in 3 seconds",
   do what they say.
   Log in with default admin password "admin@huawei.com".

3. Boot the OpenWrt initramfs from TFTP using the hidden script "run ramboot".
   Replace IP address as needed:

   > setenv serverip 192.168.1.10
   > setenv ipaddr 192.168.1.1
   > setenv rambootfile openwrt-ath79-generic-huawei_ap6010dn-initramfs-kernel.bin
   > saveenv
   > run ramboot

4. Optional but recommended as the factory firmware cannot be downloaded publicly:
   Back up contents of "firmware" partition using the web interface or ssh:

   $ ssh root@192.168.1.1 cat /dev/mtd11 > huawei_ap6010dn_fw_backup.bin

5. Run sysupgrade using sysupgrade image. OpenWrt
   shall boot from flash afterwards.

Return to factory firmware (using firmware upgrade package downloaded from non-public Huawei website):
1. Start a TFTP server in the directory where
   the firmware upgrade package is located

2. Boot to u-boot as described above

3. Install firmware upgrade package and format the config partitions:

   > update system FatAP6X10XN_SOMEVERSION.bin
   > format_fs

Return to factory firmware (from previously created backup):
1. Copy over the firmware partition backup to /tmp,
   for example using scp

2. Use sysupgrade with force to restore the backup:
   sysupgrade -F huawei_ap6010dn_fw_backup.bin

3. Boot AP to U-Boot as described above

Quirks and known issues:
- The stock firmware has a semi dual boot concept where the primary
kernel uses a squashfs as root partition and the secondary kernel uses
an initramfs. This dual boot concept is circumvented on purpose to gain
more flash space and since the stock firmware's flash layout isn't
compatible with mtdsplit.
- The external watchdog's timeout of 1.6s is very hard to satisfy
during bootup. This is why the GPIO15 pin connected to the watchdog input
is configured directly in the LZMA loader to output the AHB_CLK/2 signal
which keeps the watchdog happy until the wdt-gpio kernel driver takes
over. Because it would also take too long to read the whole kernel image
from flash, the uImage header only includes the loader which then reads
the kernel image from flash after GPIO15 is configured.

Signed-off-by: Marco von Rosenberg <marcovr@selfnet.de>
(cherry picked from commit f84a9f7dc0)
Link: https://github.com/openwrt/openwrt/pull/16978
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-23 23:22:27 +01:00
Hauke Mehrtens
cafbecf853 kernel: bump 5.15 to 5.15.173
Removed because they are upstream:
   generic/backport-5.15/430-v6.3-udf-Allocate-name-buffer-in-directory-iterator-on-he.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=5ea4b73e268bf9e1d26271943f2f7c4517253395

   generic/backport-5.15/431-v6.3-udf-Avoid-directory-type-conversion-failure-due-to-E.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=8b1d55e43cee631e142d46ee94c91ccd894341e9

Link: https://github.com/openwrt/openwrt/pull/16999
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-23 23:20:16 +01:00
Hauke Mehrtens
265d9112b3 kernel: bump 5.15 to 5.15.172
No manual changes needed.

Link: https://github.com/openwrt/openwrt/pull/16999
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-23 23:20:16 +01:00
Hauke Mehrtens
cd9998ef1b kernel: bump 5.15 to 5.15.171
No manual changes needed.

Link: https://github.com/openwrt/openwrt/pull/16882
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-16 00:03:52 +01:00
Mieczyslaw Nalewaj
0edb5d4fc0 mac80211: compatibility with kernel 6.6.59
Fix genlmsg_multicast_allns() build error on kernel 6.6.59.
Based on kernel patch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit?h=v6.6.59&id=e0f83d268974dab0361d11904dfc9acec53f96a6

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/16835
(cherry picked from commit 31f1dabb4b)
Link: https://github.com/openwrt/openwrt/pull/16882
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-16 00:03:52 +01:00
Hauke Mehrtens
25f85d4293 kernel: bump 5.15 to 5.15.170
Removed because they are upstream:
   generic/backport-5.15/777-netfilter-xtables-fix-typo-causing-some-targets-to-not-load-on-IPv6.patch
   https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=90baa455aa7e099152898cfa5eb3928d6152da12

Link: https://github.com/openwrt/openwrt/pull/16882
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-16 00:03:52 +01:00
Hauke Mehrtens
e3b120f682 kernel: bump 5.15 to 5.15.169
Added patch:
   generic/backport-5.15/430-v6.3-udf-Allocate-name-buffer-in-directory-iterator-on-he.patch
   This patch fixes the following compile warning:
```
  CC [M]  fs/udf/namei.o
fs/udf/namei.c: In function 'udf_rename':
fs/udf/namei.c:878:1: error: the frame size of 1144 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
  878 | }
      | ^
cc1: all warnings being treated as errors
make[7]: *** [scripts/Makefile.build:289: fs/udf/namei.o] Error 1
```

Link: https://github.com/openwrt/openwrt/pull/16882
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-16 00:03:52 +01:00
Hauke Mehrtens
b389c3d66f kernel: bump 5.15 to 5.15.168
Manually adapted:
   bcm27xx/patches-5.15/950-0166-xhci-Use-more-event-ring-segment-table-entries.patch
     I replaced it with the version from main branch which applies more easily
   bcm27xx/patches-5.15/950-0600-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
   bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch
   bcm27xx/patches-5.15/950-0606-usb-xhci-add-VLI_TRB_CACHE_BUG-quirk.patch
   bcm27xx/patches-5.15/950-0717-usb-xhci-add-a-quirk-for-Superspeed-bulk-OUT-transfe.patch
   bcm53xx/patches-5.15/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
   generic/hack-5.15/645-netfilter-connmark-introduce-set-dscpmark.patch

Added patch:
   generic/backport-5.15/777-netfilter-xtables-fix-typo-causing-some-targets-to-not-load-on-IPv6.patch
      This fixes a bug intoduced in this version.

Adapt kernel configuration for newly added option
CONFIG_PROC_MEM_ALWAYS_FORCE.

Link: https://github.com/openwrt/openwrt/pull/16882
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-11-16 00:03:52 +01:00
Álvaro Fernández Rojas
33b45c0a0e kernel: r8125: update to v9.014.01
Changelog: https://github.com/openwrt/rtl8125/compare/9.013.02...9.014.01

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry-picked from commit e29bc67f9d)
2024-11-06 11:43:07 +01:00
Álvaro Fernández Rojas
e70669e690 kernel: r8168: refresh patch
Patches weren't refreshed when r8168 was updated to v8.054.00 in a85e18b53f.

Fixes: a85e18b53f ("kernel: r8168: update to v8.054.00")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 6490c88c75)
2024-11-05 14:12:10 +01:00
Álvaro Fernández Rojas
182af4caea kernel: r8126: update to v10.014.01
Changelog: https://github.com/openwrt/rtl8126/compare/10.013.00...10.014.01

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit 562b2c22ff)
2024-11-05 14:11:40 +01:00
Álvaro Fernández Rojas
28d4b213bc kernel: r8168: update to v8.054.00
Changelog: https://github.com/openwrt/rtl8168/compare/8.053.00...8.054.00

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
(cherry picked from commit a85e18b53f)
2024-11-05 14:11:07 +01:00
Robert Marko
1a75174b9b nu801: Mark as nonshared to build in step 1
Mark the package as nonshared to build it in the target specific build
step 1 of the build bots instead of the architecture generic build step 2.

In the build step 2 it may be left out if we build it using a different
target.

Fixes: #16857
Link: https://github.com/openwrt/openwrt/pull/16859
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-11-05 10:59:04 +01:00
Rafal Boni
cb8b632f1a ipq806x: Fix default MAC addresses on MR42 by moving to nvmem-layout
Partial, single-target update extracted from https://github.com/openwrt/openwrt/commit/d264d3a6

The previous `mac-address-increment` is deprecated, and in particular on
this target means that the kernel is unable to read the MAC address,
causing the system to boot with a new random MAC address each time.

Fixes: https://github.com/openwrt/openwrt/issues/13992

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[rafal.boni@gmail.com: single-target-specific backport from larger change]
Signed-off-by: Rafal Boni <rafal.boni@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16858
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-11-04 17:27:52 +01:00
Leon M. Busch-George
0d428857d5 mediatek: YunCore AX835: fix voltage regulator
Specifying GPIO_ACTIVE_HIGH on the GPIO for the voltage regulator doesn't
suffice. The regulator itself requires enable-active-high to be set.

Fixes: #16292
Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
Link: https://github.com/openwrt/openwrt/pull/16839
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-11-04 10:36:50 +01:00
Lech Perczak
4f0e281775 ath79: Really fix 5GHz on QCA9886 variant of ZTE MF286
Fix in commit 25eead21c5 ("ath79: fix 5GHz on QCA9886 variant of ZTE MF286")
was incomplete. A user of such variant popped up, and in the boot log
after installation, we discovered that QCA9886 expects different
pre-calibration data size, than the older QCA9880 variant:

ath10k_pci 0000:00:00.0: qca9888 hw2.0 target 0x01000000 chip_id 0x00000000 sub 0000:0000
ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
ath10k_pci 0000:00:00.0: firmware ver 10.4b-ct-9888-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 59e741e7
ath10k_pci 0000:00:00.0: invalid calibration data length in nvmem-cell 'pre-calibration': 2116 != 12064
ath10k_pci 0000:00:00.0: Loading BDF type 0
ath10k_pci 0000:00:00.0: failed to fetch board data for bus=pci,vendor=168c,device=0056,subsystem-vendor=0000,subsystem-device=0000 from ath10k/QCA9888/hw2.0/board-2.bin
ath10k_pci 0000:00:00.0: failed to fetch board-2.bin or board.bin from ath10k/QCA9888/hw2.0
ath10k_pci 0000:00:00.0: failed to fetch board file: -12
ath10k_pci 0000:00:00.0: could not probe fw (-12)

Explicitly define a pre-calibration nvmem-cell for this variant, and use
it instead of the calibration one, which is shorter.

Fixes: 25eead21c5 ("ath79: fix 5GHz on QCA9886 variant of ZTE MF286")
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
(cherry picked from commit fc236f3b3c)
Link: https://github.com/openwrt/openwrt/pull/16810
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-31 19:02:30 +01:00
Rafal Boni
607091d4fe ipq806x: Fix default MAC addresses on MR52 by moving to nvmem-layout
Partial, single-target update extracted from https://github.com/openwrt/openwrt/commit/d264d3a6

The previous `mac-address-increment` is deprecated, and in particular on
this target means that the kernel is unable to read the MAC address,
causing the system to boot with a new random MAC address each time.

Fixes: https://github.com/openwrt/openwrt/issues/15238

Signed-off-by: Rosen Penev <rosenp@gmail.com>
[rafal.boni@gmail.com: single-target-specific backport from larger change]
Signed-off-by: Rafal Boni <rafal.boni@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16774
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-31 10:59:34 +01:00
Rafal Boni
92c2a4cf93 ipq806x: Revert "ipq806x: swap lan leds for Meraki MR52"
This reverts commit ec8f647d16, as with the
current kernel version, the change actually causes the same bug it once
may have fixed -- that is, the leds are now again reversed.

I suspect this was due to a switch to a newer kernel version between when
the patch was submitted and now reversing the order of the interfaces, so
that eth0 / the LAN interface is also the interface used for PoE, and eth1
/ the WAN interface is the non-PoE interface.

Signed-off-by: Rafal Boni <rafal.boni@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16779
(cherry picked from commit b5e1544f4d)
Signed-off-by: Rafal Boni <rafal.boni@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16822
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-31 10:49:16 +01:00
Rosen Penev
9bc6a18ede ramips: m4r v4: fix typo
It should be debounce-interval, as with the others.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16802
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-31 10:45:52 +01:00
Roger Pueyo Centelles
c46b689149 ath79: add support for MikroTik RouterBOARD 750 r2 (hEX lite)
This patch adds support for the MikroTik RouterBOARD 750 r2, marketed as
hEX lite, a small indoor router with 5x 10/100 Mbps Ethernet ports, one
with PoE in. The device was already supported by the ar71xx target.

Specifications:
 - SoC: Qualcomm Atheros QCA9533
 - Flash: 16 MB SPI NOR
 - RAM: 64 MB
 - Ethernet: 4x 10/100 Mbps LAN, 1x 10/100 Mbps WAN (PoE in)
 - LEDs: 5x Ethernet port activity (green), 1x user (green)
 - Buttons: 1x reset

 See https://mikrotik.com/product/RB750r2 for more details.

Not working:
 - Serial port (already not working in ar71xx)

Flashing:
 TFTP boot initramfs image and then perform sysupgrade. Only the
 "Internet" port will ask for an initramfs image. Follow common
 MikroTik procedure as in https://openwrt.org/toh/mikrotik/common.

(cherry picked from commit 8486c677b8)
Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
Link: https://github.com/openwrt/openwrt/pull/13477
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-29 21:36:11 +01:00
Rodrigo B. de Sousa Martins
088bb1e12e iptables: backport "nft: track each register individually" from 1.9
From the upstream repo:

Instead of assuming only one register is used, track all 16 regs
individually.

This avoids need for the 'PREV_PAYLOAD' hack and also avoids the need to
clear out old flags:

When we see that register 'x' will be written to, that register state is
reset automatically.

Existing dissector decodes
ip saddr 1.2.3.4 meta l4proto tcp
... as
-s 6.0.0.0 -p tcp

iptables-nft -s 1.2.3.4 -p tcp is decoded correctly because the expressions
are ordered like:

meta l4proto tcp ip saddr 1.2.3.4
                                                                                                                                                                                                                   |
... and 'meta l4proto' did clear the PAYLOAD flag.

The simpler fix is:
		ctx->flags &= ~NFT_XT_CTX_PAYLOAD;

in nft_parse_cmp(), but that breaks dissection of '1-42', because
the second compare ('cmp lte 42') will not find the
payload expression anymore.

This commit fixes #11169 and openwrt/packages#22727, and potentially anyone that uses iptables-nft legacy support.

Signed-off-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16504
[Added patch header]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 44b1993f76)
2024-10-24 00:51:01 +02:00
Robert Marko
e0e022e612 generic: 5.15: add Winbond W25N01KV support
It seems that some Xiaomi AX3000T boards changed to using Winbond W25N01KV
SPI-NAND which is not supported in OpenWrt 23.05 but only in main.

So, backport the support for Winbond W25N01KV from Linux 6.12 to 23.05
as well.

Link: https://github.com/openwrt/openwrt/pull/16669
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-20 18:29:15 +02:00
Itay Shoshani
676e2f7192 wireless-regdb: Update to version 2024.10.07
b66b9a1 wireless-regdb: update regulatory database based on preceding changes
5097b4a wireless-regdb: Update regulatory info for Tanzania (TZ) for 2024
29633a6 wireless-regdb: Update regulatory info for Pakistan (PK) for 2024
b44edb2 wireless-regdb: Update regulatory info for Serbia (RS) for 2024
dbfae47 Revert "wireless-regdb: Update regulatory info for Serbia (SR) for 2024"
8e3d27c wireless-regdb: Correct regulatory rules of 6GHz frequency for Türkiye (TR)
8760bc3 wireless-regdb: Update regulatory info for Honduras (HN) for 2023
3ba2c53 wireless-regdb: Update regulatory info for Israel (IL) for 2021
83c175c wireless-regdb: Update regulatory info for Kuwait (KW) for 2022
388c80c wireless-regdb: Update regulatory info for Serbia (SR) for 2024
bf55ed4 wireless-regdb: Add .b4-config
3afe172 wireless-regdb: Update .gitignore
3b34761 wireless-regdb: Correct regulatory rules for China (CN)
003c282 wireless-regdb: Update regulatory info for Philippines (PH) on 6GHz
21fcb86 wireless-regdb: Update regulatory info for Guatemala (GT) for 2020
158f105 wireless-regdb: Update regulatory info for Bahrain (BH) for 2024
218d146 wireless-regdb: Add regulatory info for Namibia (NA) for 2023
aad0c26 wireless-regdb: Update regulatory info for Togo (TG) for 2022
983f551 wireless-regdb: Update regulatory info for El Salvador (SV) on 6GHz
58575b4 wireless-regdb: Update regulatory info for Peru (PE) on 6GHz
bad3985 wireless-regdb: Update regulatory info for New Zealand (NZ) for 2022
c7d1083 wireless-regdb: Update regulatory info for Qatar (QA) on 6GHz

Signed-off-by: Itay Shoshani <itai.sho@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16678
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit a6de2d7784)
2024-10-19 17:42:47 +02:00
Rosen Penev
0f30b8d2d2 mpc85xx: p1010: fix NAND devices
Upstream commit 9ba0cae3cac07c21c583f9ff194f74043f90d29c made FSL_IFC
visible and selectable, which means that in order for MTD_NAND_FSL_IFC
to work, it needs these two extra CONFIG options.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16717
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-17 11:00:40 +02:00
Shiji Yang
1efcdb2446 ramips: use OKLI loader for TP-Link RE200 v1 and RE210 v1
Using OKLI image to fix the booting stuck issue.

Tested with u-boot extracted from TP-Link stock images
"RE200(EU)_V1_171206.zip" and "RE210(US_CA)_V1_171205.zip".

Fixes: https://github.com/openwrt/openwrt/issues/16296
Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16473
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b62e6f5beb)
2024-10-08 22:20:23 +02:00
Shiji Yang
fb44dd7314 ramips: introduce TP-Link v1 header OKLI image recipe
It can be used to workaround the booting stuck issue caused by the
u-boot LZMA decompression error.

The new kernel image structure:
+------+------------------+------------------+---------------+-----------------+
| name | tplink-v1 header | OKLI lzma-loader | uImage header | lzma kernel+dtb |
+------+------------------+------------------+---------------+-----------------+
| size |      0x200       |       0xe00      |     0x40      |     dynamic     |
+------+------------------+------------------+---------------+-----------------+

Signed-off-by: Shiji Yang <yangshiji66@qq.com>
Link: https://github.com/openwrt/openwrt/pull/16473
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 08eecec355)
2024-10-08 22:20:20 +02:00
Mikhail Zhilkin
1ec1aa9cc7 ramips: add support for netis N6
This commit adds support for netis N6 WiFi 6 router.

Specification
-------------
- SoC       : MediaTek MT7621AT, MIPS, 880 MHz
- RAM       : 256 MiB
- Flash     : NAND 128 MiB (ESMT PSU1GA30DT)
- WLAN      : MT7905DAN + MT7975DN
  - 2.4 GHz : b/g/n/ax, 574 Mbps, MIMO 2x2
  - 5 GHz   : a/n/ac/ax, 1201 Mbps, MIMO 2x2
- Ethernet  : 10/100/1000 Mbps x5 (1x WAN, 4x LAN)
- USB       : 1x 3.0
- UART      : 3.3V, 115200n8
- Buttons   : 1x Reset
              1x WPS
- LEDs      : 1x Power (green)
              1x System (green)
              1x WAN (green)
              1x WiFi 2.4 GHz (green), controlled by phy
              1x WiFi 5 GHz (green), controlled by phy
              1x WPS (green)
              1x USB (green)
              5x ethernet leds (green), controlled by switch
- Power     : 12 VDC, 1.5 A

Installation
------------
1. Update the router using stock firmware web interface and OpenWrt
   factory.bin image.

Recovery and return to stock
----------------------------
1. Assign your PC a static IP 192.168.1.2 and connect to the router using
   the ethernet cable;
2. Power off the router;
3. Press Reset button, power on the router and wait until ethernet led
   start blinking;
4. Release the button;
5. Open http://192.168.1.1/ (N6 System Recovery Mode) in your browser;
6. Upload OpenWrt factory.bin (or stock firmware *.bin) image and proceed
   with upgrade.

MAC addresses
-------------
+---------+-------------------+
|         | MAC example       |
+---------+-------------------+
| LAN     | dc:xx:xx:49:xx:04 |
| WAN     | dc:xx:xx:49:xx:05 |
| WLAN 2g | dc:xx:xx:19:xx:06 |
| WLAN 5g | dc:xx:xx:79:xx:06 |
+---------+-------------------+
The WLAN MAC prototype was found in 'Factory', 0x4
The LAN MAC was found in 'Factory', 0x7ef20
The WAN MAC was found in 'Factory', 0x7ef26

Known issue
-----------
2.4 GHz WLAN doesn't start with mt76 driver.

Probable reason:
   Original Netis N6 EEPROM contains wrong MT_EE_WIFI_CONF value (0xd2).
   Other routers with the same WLAN hardware (e.g., Routerich AX1800)
   have MT_EE_WIFI_CONF = 0x92.

Workaround (already included in this commit):
   Extract EEPROM to a file at the first time boot and change
   MT_EE_WIFI_CONF (offset 0x190) value from 0xd2 to 0x92. See
   /etc/hotplug.d/firmware/11-mt76-caldata for details.

Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16322
(cherry picked from commit f368e2d5ec)
[ Fix merging onflicts in mt7621.mk, 10_fix_wifi_mac, platform.sh ]
[ Change &ethphy4 -> &mdio in dts file ]
Signed-off-by: Mikhail Zhilkin <csharper2005@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16436
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-08 22:16:44 +02:00
Lech Perczak
4d89918a98 ipq40xx: fix MAC address on Meraki MR33 and MR74 after nvmem-layout
...conversion.
Commit 20736013e9 ("kernel: backport nvmem v6.6 fixes and v6.7 changes")
has caused dthe device to no longer correctly read MAC address from its
onboard 24c64 EEPROM, because "at24" driver doesn't support legacy
nvmem-cell bindings [1] - and there was an explicit config option added
to mandate that behaviour in the following patch:

820-v6.7-0002-nvmem-add-explicit-config-option-to-read-old-syntax-.patch

But some of the devices, MR33 and MR74 included, weren't converted with
that as well.
Convert the definition to use proper fixed-layout binding to fix it.

The offending change was introduced between v23.05.0 and v23.05.1, and
found by bisection:
git bisect start
# status: waiting for both good and bad commits
# good: [bd4f415efa] OpenWrt v23.05.0: adjust config defaults
git bisect good bd4f415efa
# status: waiting for bad commit, 1 good commit known
# bad: [a58a86693f] OpenWrt v23.05.1: adjust config defaults
git bisect bad a58a86693f
# good: [3d0a78add2] qualcommax: only build initramfs if CONFIG_TARGET_ROOTFS_INITRAMFS is set
git bisect good 3d0a78add2
# bad: [21e5db97c4] build: add CycloneDX SBOM JSON support
git bisect bad 21e5db97c4
# good: [89184b15cf] mediatek: add build for MT7981 RFB
git bisect good 89184b15cf
# bad: [41f27bbb6d] bcm53xx: add the latest fix version of brcm_nvram
git bisect bad 41f27bbb6d
# good: [b649b0bf71] kernel: nvmem: fix "fixed-layout" & support "mac-base"
git bisect good b649b0bf71
# bad: [20736013e9] kernel: backport nvmem v6.6 fixes and v6.7 changes
git bisect bad 20736013e9
# good: [066971615f] kernel: backport v6.6 nvmem changes
git bisect good 066971615f
# first bad commit: [20736013e9] kernel: backport nvmem v6.6 fixes and v6.7 changes

Link: [1] https://github.com/openwrt/openwrt/issues/15393#issuecomment-2212300849
Fixes: 20736013e9 ("kernel: backport nvmem v6.6 fixes and v6.7 changes")
Fixes: https://github.com/openwrt/openwrt/issues/15393
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
(cherry picked from commit ccbffad1ad0ce444bc2497098a1d3d3a086a5f44)
[replace mac-address-increment with #nvmem-cell-cells]
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16624
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-07 10:36:12 +02:00
Jakob Haufe
fa0a7e00e8 octeon: ubnt-edgerouter: fix sysupgrade config backup/restore
er is missing from platform_copy_config() and octeon_move_config(), so
config is lost on every sysupgrade.

(cherry-picked from commit 77037b09f3)
Signed-off-by: Jakob Haufe <sur5r@sur5r.net>
Link: https://github.com/openwrt/openwrt/pull/16518
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-09-28 18:33:21 +02:00
Robert Marko
87477c756e tools: bzip2: use static lib and tools
Currently, bzip2 is built with a dynamically linked library on which all
of the bzip2 tools depend on.

However, when trying to use the staging dir bzip2 during building on
Fedora 40 the following error appers:
staging_dir/host/bin/bzip2: error while loading shared libraries: libbz2.so.1.0: cannot open shared object file: No such file or directory

Looking into it, the binary is dynamically linked:
$ ldd staging_dir/host/bin/bzip2
linux-vdso.so.1 (0x00007f5ebd9ff000)
libbz2.so.1.0 => not found
libc.so.6 => /lib64/libc.so.6 (0x00007f5ebd7f5000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5ebda01000)

libbz2.so.1.0 is installed into staging_dir/lib but that directory is not
evaluated for the required libraries and Fedora only ships:
/usr/lib64/libbz2.so.1
/usr/lib64/libbz2.so.1.0.8

Thus it cannot find the libbz2 that bzip2 is linked against and thus
trying to use bzip2 will fail and stop compilation as it is used for
bzip2 compressed tarballs.

So, to avoid OpenWrt compiled bzip2 to even attempt to load a required
library from the host we can just static compile libbz2 and bzip2.

Link: https://github.com/openwrt/openwrt/pull/16520
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-09-28 12:05:48 +02:00
David Bauer
5332351821 ipq40xx: fix AP-303H PSE GPIO pin
The GPIO chip is at a different start index compared to OpenWrt master.

Signed-off-by: David Bauer <mail@david-bauer.net>
2024-09-27 19:10:40 +02:00
Chukun Pan
6e561fe0a1 kernel: r8126: add CONFLICT to rss variant
The rss variant should conflict with the default.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/16460
(cherry picked from b83c7448d3)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-09-24 09:15:48 +02:00
Chukun Pan
1d9f6d389e kernel: r8125: add CONFLICT to rss variant
The rss variant should conflict with the default.

Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/16460
(cherry picked from d39078c785)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-09-24 09:15:06 +02:00
Hauke Mehrtens
dced292d68 OpenWrt v23.05.5: revert to branch defaults
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-09-24 00:53:40 +02:00
571 changed files with 5572 additions and 2963 deletions

View File

@@ -1,4 +1,4 @@
src-git packages https://git.openwrt.org/feed/packages.git^b5ed85f6e94aa08de1433272dc007550f4a28201
src-git luci https://git.openwrt.org/project/luci.git^63ba3cba5b7bfb803a875d4d8f01248634687fd5
src-git routing https://git.openwrt.org/feed/routing.git^e351d1e623e9ef2ab78f28cb1ce8d271d28c902d
src-git telephony https://git.openwrt.org/feed/telephony.git^98c8a5aa4624312ed758e2e2b6d4039050a1649d
src-git packages https://git.openwrt.org/feed/packages.git;openwrt-23.05
src-git luci https://git.openwrt.org/project/luci.git;openwrt-23.05
src-git routing https://git.openwrt.org/feed/routing.git;openwrt-23.05
src-git telephony https://git.openwrt.org/feed/telephony.git;openwrt-23.05

View File

@@ -68,6 +68,8 @@ ifeq ($(HOST_USE_NINJA),1)
define Host/Uninstall/Default
+$(NINJA) -C $(HOST_CMAKE_BINARY_DIR) uninstall
endef
else
CMAKE_HOST_OPTIONS += -DCMAKE_GENERATOR="Unix Makefiles"
endif
ifeq ($(PKG_USE_NINJA),1)
@@ -80,6 +82,8 @@ ifeq ($(PKG_USE_NINJA),1)
define Build/Install/Default
+DESTDIR="$(PKG_INSTALL_DIR)" $(NINJA) -C $(CMAKE_BINARY_DIR) install
endef
else
CMAKE_OPTIONS += -DCMAKE_GENERATOR="Unix Makefiles"
endif
define Build/Configure/Default

View File

@@ -33,7 +33,7 @@ define FeedSourcesAppend
echo 'src/gz %d_core %U/targets/%S/packages'; \
$(strip $(if $(CONFIG_PER_FEED_REPO), \
echo 'src/gz %d_base %U/packages/%A/base'; \
$(if $(filter %SNAPSHOT-y,$(VERSION_NUMBER)-$(CONFIG_BUILDBOT)), \
$(if $(CONFIG_BUILDBOT), \
echo 'src/gz %d_kmods %U/targets/%S/kmods/$(LINUX_VERSION)-$(LINUX_RELEASE)-$(LINUX_VERMAGIC)';) \
$(foreach feed,$(FEEDS_AVAILABLE), \
$(if $(CONFIG_FEED_$(feed)), \

View File

@@ -487,6 +487,15 @@ endef
define Device/Check/Common
_PROFILE_SET = $$(strip $$(foreach profile,$$(PROFILES) DEVICE_$(1),$$(call DEVICE_CHECK_PROFILE,$$(profile))))
# Check if device is disabled and if so do not mark to be installed when ImageBuilder is used
ifeq ($(IB),1)
ifeq ($$(DEFAULT),n)
_PROFILE_SET :=
endif
ifeq ($$(BROKEN),y)
_PROFILE_SET :=
endif
endif
DEVICE_PACKAGES += $$(call extra_packages,$$(DEVICE_PACKAGES))
ifdef TARGET_PER_DEVICE_ROOTFS
$$(eval $$(call merge_packages,_PACKAGES,$$(DEVICE_PACKAGES) $$(call DEVICE_EXTRA_PACKAGES,$(1))))

View File

@@ -1,2 +1,2 @@
LINUX_VERSION-5.15 = .167
LINUX_KERNEL_HASH-5.15.167 = b1751f18ece3df08d502dd87a9ab1a317dc0f9486355bf8ee62ba6af0b35da30
LINUX_VERSION-5.15 = .198
LINUX_KERNEL_HASH-5.15.198 = 5d4c0994580dd3bbd5ffc5fcb81c22dd305b844c9d8c7b176cc41b28f7e29743

View File

@@ -176,6 +176,7 @@ $(eval $(call SetupHostCommand,perl,Please install Perl 5.x, \
perl --version | grep "perl.*v5"))
$(eval $(call SetupHostCommand,python,Please install Python >= 3.6, \
python3.12 -V 2>&1 | grep 'Python 3', \
python3.11 -V 2>&1 | grep 'Python 3', \
python3.10 -V 2>&1 | grep 'Python 3', \
python3.9 -V 2>&1 | grep 'Python 3', \
@@ -185,6 +186,7 @@ $(eval $(call SetupHostCommand,python,Please install Python >= 3.6, \
python3 -V 2>&1 | grep -E 'Python 3\.([6-9]|[0-9][0-9])\.?'))
$(eval $(call SetupHostCommand,python3,Please install Python >= 3.6, \
python3.12 -V 2>&1 | grep 'Python 3', \
python3.11 -V 2>&1 | grep 'Python 3', \
python3.10 -V 2>&1 | grep 'Python 3', \
python3.9 -V 2>&1 | grep 'Python 3', \
@@ -195,7 +197,8 @@ $(eval $(call SetupHostCommand,python3,Please install Python >= 3.6, \
$(eval $(call TestHostCommand,python3-distutils, \
Please install the Python3 distutils module, \
$(STAGING_DIR_HOST)/bin/python3 -c 'from distutils import util'))
printf 'from sys import version_info\nif version_info < (3, 12):\n\tfrom distutils import util' | \
$(STAGING_DIR_HOST)/bin/python3 -))
$(eval $(call TestHostCommand,python3-stdlib, \
Please install the Python3 stdlib module, \

View File

@@ -23,13 +23,13 @@ PKG_CONFIG_DEPENDS += \
sanitize = $(call tolower,$(subst _,-,$(subst $(space),-,$(1))))
VERSION_NUMBER:=$(call qstrip,$(CONFIG_VERSION_NUMBER))
VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),23.05.5)
VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),23.05-SNAPSHOT)
VERSION_CODE:=$(call qstrip,$(CONFIG_VERSION_CODE))
VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),r24106-10cc5fcd00)
VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),$(REVISION))
VERSION_REPO:=$(call qstrip,$(CONFIG_VERSION_REPO))
VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),https://downloads.openwrt.org/releases/23.05.5)
VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),https://downloads.openwrt.org/releases/23.05-SNAPSHOT)
VERSION_DIST:=$(call qstrip,$(CONFIG_VERSION_DIST))
VERSION_DIST:=$(if $(VERSION_DIST),$(VERSION_DIST),OpenWrt)

View File

@@ -190,7 +190,7 @@ if VERSIONOPT
config VERSION_REPO
string
prompt "Release repository"
default "https://downloads.openwrt.org/releases/23.05.5"
default "https://downloads.openwrt.org/releases/23.05-SNAPSHOT"
help
This is the repository address embedded in the image, it defaults
to the trunk snapshot repo; the url may contain the following placeholders:
@@ -266,7 +266,7 @@ if VERSIONOPT
config VERSION_CODE_FILENAMES
bool
prompt "Revision code in filenames"
default n
default y
help
Enable this to include the revision identifier or the configured
version code into the firmware image, SDK- and Image Builder archive

View File

@@ -73,6 +73,8 @@ endef
HOST_BUILD_PREFIX := $(STAGING_DIR_HOST)
HOST_CFLAGS +=-std=gnu17
CONFIGURE_VARS += \
grub_build_mkfont_excuse="don't want fonts"

View File

@@ -119,7 +119,8 @@ domywifi,dw33d)
glinet,gl-ar150)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x8000" "0x10000"
;;
huawei,ap5030dn)
huawei,ap5030dn|\
huawei,ap6010dn)
ubootenv_add_uci_config "/dev/mtd3" "0x0" "0x20000" "0x20000"
;;
netgear,wndr3700|\
@@ -160,6 +161,7 @@ ruckus,zf7372)
ubootenv_add_uci_config "/dev/mtd2" "0x0" "0x40000" "0x10000"
;;
sophos,ap15|\
sophos,ap15c|\
sophos,ap55|\
sophos,ap55c|\
sophos,ap100|\

View File

@@ -77,6 +77,7 @@ jcg,q20|\
linksys,e7350|\
netgear,eax12|\
netgear,wax202|\
netis,n6|\
zyxel,wsm20)
ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000"
;;

View File

@@ -0,0 +1,725 @@
From 506df9dc5881b74ca6463b89e9edcd14732a7da5 Mon Sep 17 00:00:00 2001
From: Shiji Yang <yangshiji66@outlook.com>
Date: Thu, 3 Aug 2023 09:47:16 +0800
Subject: [PATCH] treewide: rework linker symbol declarations in sections
header
1. Convert all linker symbols to char[] type so that we can get the
corresponding address by calling array name 'var' or its address
'&var'. In this way, we can avoid some potential issues[1].
2. Remove unused symbol '_TEXT_BASE'. It has been abandoned and has
not been referenced by any source code.
3. Move '__data_end' to the arch x86's own sections header as it's
only used by x86 arch.
4. Remove some duplicate declared linker symbols. Now we use the
standard header file to declare them.
[1] This patch fixes the boot failure on MIPS target. Error log:
SPL: Image overlaps SPL
Fixes: 1b8a1be1a1f1 ("spl: spl_legacy: Fix spl_end address")
Signed-off-by: Shiji Yang <yangshiji66@outlook.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
---
arch/arc/include/asm/sections.h | 5 +--
arch/arc/lib/relocate.c | 7 +---
arch/arm/include/asm/spl.h | 3 --
arch/microblaze/include/asm/processor.h | 5 ---
arch/x86/include/asm/sections.h | 2 ++
board/advantech/imx8qm_dmsse20_a1/spl.c | 1 +
board/advantech/imx8qm_rom7720_a1/spl.c | 1 +
board/aristainetos/aristainetos.c | 2 +-
board/beacon/imx8mm/spl.c | 1 +
board/beacon/imx8mn/spl.c | 1 +
board/bosch/acc/acc.c | 1 +
board/bsh/imx8mn_smm_s2/spl.c | 1 +
board/cloos/imx8mm_phg/spl.c | 1 +
board/compulab/cl-som-imx7/spl.c | 1 +
board/compulab/imx8mm-cl-iot-gate/spl.c | 1 +
board/congatec/cgtqmx8/spl.c | 1 +
board/dhelectronics/dh_imx6/dh_imx6_spl.c | 1 +
board/dhelectronics/dh_imx8mp/spl.c | 1 +
board/engicam/imx8mm/spl.c | 1 +
board/freescale/imx8mm_evk/spl.c | 1 +
board/freescale/imx8mn_evk/spl.c | 1 +
board/freescale/imx8mq_evk/spl.c | 1 +
board/freescale/imx8qm_mek/spl.c | 1 +
board/freescale/imx8qxp_mek/spl.c | 1 +
board/freescale/imx8ulp_evk/spl.c | 1 +
board/freescale/imx93_evk/spl.c | 1 +
board/freescale/ls1021aiot/ls1021aiot.c | 1 +
board/freescale/ls1021aqds/ls1021aqds.c | 1 +
board/freescale/ls1021atsn/ls1021atsn.c | 1 +
board/freescale/ls1021atwr/ls1021atwr.c | 1 +
board/freescale/mx6sabreauto/mx6sabreauto.c | 1 +
board/freescale/mx6sabresd/mx6sabresd.c | 1 +
board/freescale/mx6slevk/mx6slevk.c | 1 +
.../mx6ul_14x14_evk/mx6ul_14x14_evk.c | 1 +
board/gateworks/venice/spl.c | 1 +
board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c | 1 +
board/kontron/pitx_imx8m/spl.c | 1 +
board/kontron/sl-mx6ul/spl.c | 1 +
board/kontron/sl-mx8mm/spl.c | 1 +
board/liebherr/display5/spl.c | 1 +
board/mntre/imx8mq_reform2/spl.c | 1 +
board/phytec/pcm058/pcm058.c | 1 +
board/phytec/phycore_imx8mm/spl.c | 1 +
board/ronetix/imx7-cm/spl.c | 1 +
board/ronetix/imx8mq-cm/spl.c | 1 +
board/siemens/capricorn/spl.c | 1 +
board/softing/vining_2000/vining_2000.c | 1 +
board/solidrun/mx6cuboxi/mx6cuboxi.c | 1 +
board/technexion/pico-imx6ul/spl.c | 1 +
board/technexion/pico-imx7d/spl.c | 1 +
board/technexion/pico-imx8mq/spl.c | 1 +
board/toradex/apalis_imx6/apalis_imx6.c | 1 +
board/toradex/colibri_imx6/colibri_imx6.c | 1 +
board/toradex/verdin-imx8mm/spl.c | 1 +
board/udoo/neo/neo.c | 1 +
board/variscite/dart_6ul/spl.c | 1 +
board/variscite/imx8mn_var_som/spl.c | 1 +
include/asm-generic/sections.h | 34 ++++---------------
58 files changed, 64 insertions(+), 45 deletions(-)
--- a/arch/arc/include/asm/sections.h
+++ b/arch/arc/include/asm/sections.h
@@ -8,7 +8,8 @@
#include <asm-generic/sections.h>
-extern ulong __ivt_start;
-extern ulong __ivt_end;
+extern char __ivt_start[];
+extern char __ivt_end[];
+extern char __text_end[];
#endif /* __ASM_ARC_SECTIONS_H */
--- a/arch/arc/lib/relocate.c
+++ b/arch/arc/lib/relocate.c
@@ -6,14 +6,9 @@
#include <common.h>
#include <elf.h>
#include <log.h>
-#include <asm-generic/sections.h>
+#include <asm/sections.h>
#include <asm/global_data.h>
-extern ulong __image_copy_start;
-extern ulong __ivt_start;
-extern ulong __ivt_end;
-extern ulong __text_end;
-
DECLARE_GLOBAL_DATA_PTR;
int copy_uboot_to_ram(void)
--- a/arch/arm/include/asm/spl.h
+++ b/arch/arm/include/asm/spl.h
@@ -34,9 +34,6 @@ enum {
};
#endif
-/* Linker symbols. */
-extern char __bss_start[], __bss_end[];
-
#ifndef CONFIG_DM
extern gd_t gdata;
#endif
--- a/arch/microblaze/include/asm/processor.h
+++ b/arch/microblaze/include/asm/processor.h
@@ -6,11 +6,6 @@
#ifndef __ASM_MICROBLAZE_PROCESSOR_H
#define __ASM_MICROBLAZE_PROCESSOR_H
-/* References to section boundaries */
-
-extern char _end[];
-extern char __text_start[];
-
/* Microblaze board initialization function */
void board_init(void);
--- a/arch/x86/include/asm/sections.h
+++ b/arch/x86/include/asm/sections.h
@@ -8,4 +8,6 @@
#include <asm-generic/sections.h>
+extern char __data_end[];
+
#endif
--- a/board/advantech/imx8qm_dmsse20_a1/spl.c
+++ b/board/advantech/imx8qm_dmsse20_a1/spl.c
@@ -14,6 +14,7 @@
#include <firmware/imx/sci/sci.h>
#include <asm/arch/imx8-pins.h>
#include <asm/arch/iomux.h>
+#include <asm/sections.h>
#include <fsl_esdhc_imx.h>
DECLARE_GLOBAL_DATA_PTR;
--- a/board/advantech/imx8qm_rom7720_a1/spl.c
+++ b/board/advantech/imx8qm_rom7720_a1/spl.c
@@ -17,6 +17,7 @@
#include <firmware/imx/sci/sci.h>
#include <asm/arch/imx8-pins.h>
#include <asm/arch/iomux.h>
+#include <asm/sections.h>
DECLARE_GLOBAL_DATA_PTR;
--- a/board/aristainetos/aristainetos.c
+++ b/board/aristainetos/aristainetos.c
@@ -27,6 +27,7 @@
#include <asm/arch/crm_regs.h>
#include <asm/io.h>
#include <asm/arch/sys_proto.h>
+#include <asm/sections.h>
#include <bmp_logo.h>
#include <dm/root.h>
#include <env.h>
@@ -217,7 +218,6 @@ static void set_gpr_register(void)
&iomuxc_regs->gpr[12]);
}
-extern char __bss_start[], __bss_end[];
int board_early_init_f(void)
{
select_ldb_di_clock_source(MXC_PLL5_CLK);
--- a/board/beacon/imx8mm/spl.c
+++ b/board/beacon/imx8mm/spl.c
@@ -14,6 +14,7 @@
#include <asm/arch/sys_proto.h>
#include <asm/mach-imx/boot_mode.h>
#include <asm/arch/ddr.h>
+#include <asm/sections.h>
#include <dm/uclass.h>
#include <dm/device.h>
--- a/board/beacon/imx8mn/spl.c
+++ b/board/beacon/imx8mn/spl.c
@@ -20,6 +20,7 @@
#include <asm/mach-imx/iomux-v3.h>
#include <asm/mach-imx/gpio.h>
#include <asm/mach-imx/mxc_i2c.h>
+#include <asm/sections.h>
#include <fsl_esdhc_imx.h>
#include <mmc.h>
#include <linux/delay.h>
--- a/board/bosch/acc/acc.c
+++ b/board/bosch/acc/acc.c
@@ -28,6 +28,7 @@
#include <asm/arch/mx6-pins.h>
#include <asm/arch/sys_proto.h>
#include <asm/mach-imx/iomux-v3.h>
+#include <asm/sections.h>
#include <usb.h>
#include <usb/ehci-ci.h>
#include <fuse.h>
--- a/board/bsh/imx8mn_smm_s2/spl.c
+++ b/board/bsh/imx8mn_smm_s2/spl.c
@@ -13,6 +13,7 @@
#include <asm/arch/sys_proto.h>
#include <asm/mach-imx/boot_mode.h>
#include <asm/mach-imx/gpio.h>
+#include <asm/sections.h>
#include <dm/device.h>
#include <dm/uclass.h>
--- a/board/cloos/imx8mm_phg/spl.c
+++ b/board/cloos/imx8mm_phg/spl.c
@@ -19,6 +19,7 @@
#include <asm/arch/sys_proto.h>
#include <asm/mach-imx/boot_mode.h>
#include <asm/arch/ddr.h>
+#include <asm/sections.h>
#include <dm/uclass.h>
#include <dm/device.h>
--- a/board/compulab/cl-som-imx7/spl.c
+++ b/board/compulab/cl-som-imx7/spl.c
@@ -16,6 +16,7 @@
#include <asm/arch-mx7/mx7-pins.h>
#include <asm/arch-mx7/clock.h>
#include <asm/arch-mx7/mx7-ddr.h>
+#include <asm/sections.h>
#include "common.h"
#ifdef CONFIG_FSL_ESDHC_IMX
--- a/board/compulab/imx8mm-cl-iot-gate/spl.c
+++ b/board/compulab/imx8mm-cl-iot-gate/spl.c
@@ -21,6 +21,7 @@
#include <asm/mach-imx/mxc_i2c.h>
#include <asm/mach-imx/gpio.h>
#include <asm/arch/ddr.h>
+#include <asm/sections.h>
#include <dm/uclass.h>
#include <dm/device.h>
--- a/board/congatec/cgtqmx8/spl.c
+++ b/board/congatec/cgtqmx8/spl.c
@@ -10,6 +10,7 @@
#include <init.h>
#include <log.h>
#include <spl.h>
+#include <asm/sections.h>
#include <dm/uclass.h>
#include <dm/device.h>
#include <dm/uclass-internal.h>
--- a/board/dhelectronics/dh_imx6/dh_imx6_spl.c
+++ b/board/dhelectronics/dh_imx6/dh_imx6_spl.c
@@ -21,6 +21,7 @@
#include <asm/mach-imx/iomux-v3.h>
#include <asm/mach-imx/mxc_i2c.h>
#include <asm/io.h>
+#include <asm/sections.h>
#include <asm/system.h>
#include <errno.h>
#include <fuse.h>
--- a/board/dhelectronics/dh_imx8mp/spl.c
+++ b/board/dhelectronics/dh_imx8mp/spl.c
@@ -15,6 +15,7 @@
#include <asm/arch/sys_proto.h>
#include <asm/mach-imx/boot_mode.h>
#include <asm/arch/ddr.h>
+#include <asm/sections.h>
#include <dm/uclass.h>
#include <dm/device.h>
--- a/board/engicam/imx8mm/spl.c
+++ b/board/engicam/imx8mm/spl.c
@@ -16,6 +16,7 @@
#include <asm/arch/sys_proto.h>
#include <asm/mach-imx/boot_mode.h>
#include <asm/arch/ddr.h>
+#include <asm/sections.h>
DECLARE_GLOBAL_DATA_PTR;
--- a/board/freescale/imx8mm_evk/spl.c
+++ b/board/freescale/imx8mm_evk/spl.c
@@ -19,6 +19,7 @@
#include <asm/arch/sys_proto.h>
#include <asm/mach-imx/boot_mode.h>
#include <asm/arch/ddr.h>
+#include <asm/sections.h>
#include <dm/uclass.h>
#include <dm/device.h>
--- a/board/freescale/imx8mn_evk/spl.c
+++ b/board/freescale/imx8mn_evk/spl.c
@@ -20,6 +20,7 @@
#include <asm/arch/sys_proto.h>
#include <asm/mach-imx/boot_mode.h>
#include <asm/arch/ddr.h>
+#include <asm/sections.h>
#include <dm/uclass.h>
#include <dm/device.h>
--- a/board/freescale/imx8mq_evk/spl.c
+++ b/board/freescale/imx8mq_evk/spl.c
@@ -20,6 +20,7 @@
#include <asm/mach-imx/iomux-v3.h>
#include <asm/mach-imx/gpio.h>
#include <asm/mach-imx/mxc_i2c.h>
+#include <asm/sections.h>
#include <fsl_esdhc_imx.h>
#include <fsl_sec.h>
#include <mmc.h>
--- a/board/freescale/imx8qm_mek/spl.c
+++ b/board/freescale/imx8qm_mek/spl.c
@@ -17,6 +17,7 @@
#include <dm/device-internal.h>
#include <dm/lists.h>
#include <asm/arch/sys_proto.h>
+#include <asm/sections.h>
DECLARE_GLOBAL_DATA_PTR;
--- a/board/freescale/imx8qxp_mek/spl.c
+++ b/board/freescale/imx8qxp_mek/spl.c
@@ -22,6 +22,7 @@
#include <asm/arch/imx8-pins.h>
#include <asm/arch/iomux.h>
#include <asm/arch/sys_proto.h>
+#include <asm/sections.h>
DECLARE_GLOBAL_DATA_PTR;
--- a/board/freescale/imx8ulp_evk/spl.c
+++ b/board/freescale/imx8ulp_evk/spl.c
@@ -20,6 +20,7 @@
#include <asm/arch/rdc.h>
#include <asm/arch/upower.h>
#include <asm/mach-imx/s400_api.h>
+#include <asm/sections.h>
DECLARE_GLOBAL_DATA_PTR;
--- a/board/freescale/imx93_evk/spl.c
+++ b/board/freescale/imx93_evk/spl.c
@@ -21,6 +21,7 @@
#include <asm/arch-mx7ulp/gpio.h>
#include <asm/mach-imx/syscounter.h>
#include <asm/mach-imx/s400_api.h>
+#include <asm/sections.h>
#include <dm/uclass.h>
#include <dm/device.h>
#include <dm/uclass-internal.h>
--- a/board/freescale/ls1021aiot/ls1021aiot.c
+++ b/board/freescale/ls1021aiot/ls1021aiot.c
@@ -18,6 +18,7 @@
#include <asm/arch/ls102xa_devdis.h>
#include <asm/arch/ls102xa_soc.h>
+#include <asm/sections.h>
#include <fsl_csu.h>
#include <fsl_immap.h>
#include <netdev.h>
--- a/board/freescale/ls1021aqds/ls1021aqds.c
+++ b/board/freescale/ls1021aqds/ls1021aqds.c
@@ -16,6 +16,7 @@
#include <asm/arch/fsl_serdes.h>
#include <asm/arch/ls102xa_soc.h>
#include <asm/arch/ls102xa_devdis.h>
+#include <asm/sections.h>
#include <hwconfig.h>
#include <mmc.h>
#include <fsl_csu.h>
--- a/board/freescale/ls1021atsn/ls1021atsn.c
+++ b/board/freescale/ls1021atsn/ls1021atsn.c
@@ -12,6 +12,7 @@
#include <asm/arch/ls102xa_soc.h>
#include <asm/arch/fsl_serdes.h>
#include <asm/global_data.h>
+#include <asm/sections.h>
#include <linux/delay.h>
#include "../common/sleep.h"
#include <fsl_validate.h>
--- a/board/freescale/ls1021atwr/ls1021atwr.c
+++ b/board/freescale/ls1021atwr/ls1021atwr.c
@@ -18,6 +18,7 @@
#include <asm/arch/fsl_serdes.h>
#include <asm/arch/ls102xa_devdis.h>
#include <asm/arch/ls102xa_soc.h>
+#include <asm/sections.h>
#include <hwconfig.h>
#include <mmc.h>
#include <fsl_csu.h>
--- a/board/freescale/mx6sabreauto/mx6sabreauto.c
+++ b/board/freescale/mx6sabreauto/mx6sabreauto.c
@@ -15,6 +15,7 @@
#include <asm/arch/imx-regs.h>
#include <asm/arch/iomux.h>
#include <asm/arch/mx6-pins.h>
+#include <asm/sections.h>
#include <env.h>
#include <linux/errno.h>
#include <asm/gpio.h>
--- a/board/freescale/mx6sabresd/mx6sabresd.c
+++ b/board/freescale/mx6sabresd/mx6sabresd.c
@@ -14,6 +14,7 @@
#include <asm/arch/mx6-pins.h>
#include <asm/global_data.h>
#include <asm/mach-imx/spi.h>
+#include <asm/sections.h>
#include <env.h>
#include <linux/errno.h>
#include <asm/gpio.h>
--- a/board/freescale/mx6slevk/mx6slevk.c
+++ b/board/freescale/mx6slevk/mx6slevk.c
@@ -19,6 +19,7 @@
#include <asm/mach-imx/iomux-v3.h>
#include <asm/mach-imx/mxc_i2c.h>
#include <asm/io.h>
+#include <asm/sections.h>
#include <linux/sizes.h>
#include <common.h>
#include <fsl_esdhc_imx.h>
--- a/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
+++ b/board/freescale/mx6ul_14x14_evk/mx6ul_14x14_evk.c
@@ -18,6 +18,7 @@
#include <asm/mach-imx/boot_mode.h>
#include <asm/mach-imx/mxc_i2c.h>
#include <asm/io.h>
+#include <asm/sections.h>
#include <common.h>
#include <env.h>
#include <fsl_esdhc_imx.h>
--- a/board/gateworks/venice/spl.c
+++ b/board/gateworks/venice/spl.c
@@ -19,6 +19,7 @@
#include <asm/mach-imx/mxc_i2c.h>
#include <asm/arch/ddr.h>
#include <asm-generic/gpio.h>
+#include <asm/sections.h>
#include <dm/uclass.h>
#include <dm/device.h>
#include <dm/pinctrl.h>
--- a/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c
+++ b/board/k+p/kp_imx6q_tpc/kp_imx6q_tpc_spl.c
@@ -14,6 +14,7 @@
#include <asm/arch/mx6-ddr.h>
#include <asm/arch/sys_proto.h>
#include <asm/global_data.h>
+#include <asm/sections.h>
#include <asm/io.h>
#include <errno.h>
#include <spl.h>
--- a/board/kontron/pitx_imx8m/spl.c
+++ b/board/kontron/pitx_imx8m/spl.c
@@ -16,6 +16,7 @@
#include <asm/mach-imx/iomux-v3.h>
#include <asm/mach-imx/gpio.h>
#include <asm/mach-imx/mxc_i2c.h>
+#include <asm/sections.h>
#include <linux/delay.h>
#include <power/pmic.h>
#include <power/pfuze100_pmic.h>
--- a/board/kontron/sl-mx6ul/spl.c
+++ b/board/kontron/sl-mx6ul/spl.c
@@ -11,6 +11,7 @@
#include <asm/gpio.h>
#include <asm/io.h>
#include <asm/mach-imx/iomux-v3.h>
+#include <asm/sections.h>
#include <fsl_esdhc_imx.h>
#include <init.h>
#include <linux/delay.h>
--- a/board/kontron/sl-mx8mm/spl.c
+++ b/board/kontron/sl-mx8mm/spl.c
@@ -12,6 +12,7 @@
#include <asm/gpio.h>
#include <asm/mach-imx/boot_mode.h>
#include <asm/mach-imx/iomux-v3.h>
+#include <asm/sections.h>
#include <dm/uclass.h>
#include <dm/device.h>
#include <dm/uclass-internal.h>
--- a/board/liebherr/display5/spl.c
+++ b/board/liebherr/display5/spl.c
@@ -25,6 +25,7 @@
#include "asm/arch/iomux.h"
#include <asm/mach-imx/iomux-v3.h>
#include <asm/gpio.h>
+#include <asm/sections.h>
#include <fsl_esdhc_imx.h>
#include <netdev.h>
#include <bootcount.h>
--- a/board/mntre/imx8mq_reform2/spl.c
+++ b/board/mntre/imx8mq_reform2/spl.c
@@ -21,6 +21,7 @@
#include <asm/mach-imx/iomux-v3.h>
#include <asm/mach-imx/gpio.h>
#include <asm/mach-imx/mxc_i2c.h>
+#include <asm/sections.h>
#include <fsl_esdhc_imx.h>
#include <mmc.h>
#include <linux/delay.h>
--- a/board/phytec/pcm058/pcm058.c
+++ b/board/phytec/pcm058/pcm058.c
@@ -17,6 +17,7 @@
#include <asm/global_data.h>
#include <asm/mach-imx/boot_mode.h>
#include <asm/arch/sys_proto.h>
+#include <asm/sections.h>
#include <dm.h>
DECLARE_GLOBAL_DATA_PTR;
--- a/board/phytec/phycore_imx8mm/spl.c
+++ b/board/phytec/phycore_imx8mm/spl.c
@@ -12,6 +12,7 @@
#include <asm/global_data.h>
#include <asm/mach-imx/boot_mode.h>
#include <asm/mach-imx/iomux-v3.h>
+#include <asm/sections.h>
#include <hang.h>
#include <init.h>
#include <log.h>
--- a/board/ronetix/imx7-cm/spl.c
+++ b/board/ronetix/imx7-cm/spl.c
@@ -16,6 +16,7 @@
#include <asm/arch-mx7/mx7-ddr.h>
#include <asm/mach-imx/iomux-v3.h>
#include <asm/gpio.h>
+#include <asm/sections.h>
#include <fsl_esdhc_imx.h>
#include <spl.h>
--- a/board/ronetix/imx8mq-cm/spl.c
+++ b/board/ronetix/imx8mq-cm/spl.c
@@ -13,6 +13,7 @@
#include <asm/arch/clock.h>
#include <asm/mach-imx/gpio.h>
#include <asm/mach-imx/mxc_i2c.h>
+#include <asm/sections.h>
#include <fsl_esdhc_imx.h>
#include <linux/delay.h>
#include <spl.h>
--- a/board/siemens/capricorn/spl.c
+++ b/board/siemens/capricorn/spl.c
@@ -10,6 +10,7 @@
#include <spl.h>
#include <dm.h>
#include <asm/global_data.h>
+#include <asm/sections.h>
#include <dm/uclass.h>
#include <dm/device.h>
#include <dm/uclass-internal.h>
--- a/board/softing/vining_2000/vining_2000.c
+++ b/board/softing/vining_2000/vining_2000.c
@@ -19,6 +19,7 @@
#include <asm/mach-imx/iomux-v3.h>
#include <asm/io.h>
#include <asm/mach-imx/mxc_i2c.h>
+#include <asm/sections.h>
#include <env.h>
#include <linux/bitops.h>
#include <linux/delay.h>
--- a/board/solidrun/mx6cuboxi/mx6cuboxi.c
+++ b/board/solidrun/mx6cuboxi/mx6cuboxi.c
@@ -32,6 +32,7 @@
#include <asm/mach-imx/iomux-v3.h>
#include <asm/mach-imx/sata.h>
#include <asm/mach-imx/video.h>
+#include <asm/sections.h>
#include <mmc.h>
#include <fsl_esdhc_imx.h>
#include <malloc.h>
--- a/board/technexion/pico-imx6ul/spl.c
+++ b/board/technexion/pico-imx6ul/spl.c
@@ -14,6 +14,7 @@
#include <asm/gpio.h>
#include <asm/mach-imx/iomux-v3.h>
#include <asm/mach-imx/boot_mode.h>
+#include <asm/sections.h>
#include <fsl_esdhc_imx.h>
#include <linux/libfdt.h>
#include <spl.h>
--- a/board/technexion/pico-imx7d/spl.c
+++ b/board/technexion/pico-imx7d/spl.c
@@ -16,6 +16,7 @@
#include <asm/arch-mx7/mx7-ddr.h>
#include <asm/mach-imx/iomux-v3.h>
#include <asm/gpio.h>
+#include <asm/sections.h>
#include <fsl_esdhc_imx.h>
#include <spl.h>
--- a/board/technexion/pico-imx8mq/spl.c
+++ b/board/technexion/pico-imx8mq/spl.c
@@ -16,6 +16,7 @@
#include <asm/mach-imx/gpio.h>
#include <asm/mach-imx/iomux-v3.h>
#include <asm/mach-imx/mxc_i2c.h>
+#include <asm/sections.h>
#include <linux/delay.h>
#include <errno.h>
#include <fsl_esdhc_imx.h>
--- a/board/toradex/apalis_imx6/apalis_imx6.c
+++ b/board/toradex/apalis_imx6/apalis_imx6.c
@@ -30,6 +30,7 @@
#include <asm/mach-imx/iomux-v3.h>
#include <asm/mach-imx/sata.h>
#include <asm/mach-imx/video.h>
+#include <asm/sections.h>
#include <dm/device-internal.h>
#include <dm/platform_data/serial_mxc.h>
#include <dwc_ahsata.h>
--- a/board/toradex/colibri_imx6/colibri_imx6.c
+++ b/board/toradex/colibri_imx6/colibri_imx6.c
@@ -29,6 +29,7 @@
#include <asm/mach-imx/iomux-v3.h>
#include <asm/mach-imx/sata.h>
#include <asm/mach-imx/video.h>
+#include <asm/sections.h>
#include <cpu.h>
#include <dm/platform_data/serial_mxc.h>
#include <fsl_esdhc_imx.h>
--- a/board/toradex/verdin-imx8mm/spl.c
+++ b/board/toradex/verdin-imx8mm/spl.c
@@ -16,6 +16,7 @@
#include <asm/io.h>
#include <asm/mach-imx/boot_mode.h>
#include <asm/mach-imx/iomux-v3.h>
+#include <asm/sections.h>
#include <cpu_func.h>
#include <dm/device.h>
#include <dm/device-internal.h>
--- a/board/udoo/neo/neo.c
+++ b/board/udoo/neo/neo.c
@@ -17,6 +17,7 @@
#include <asm/global_data.h>
#include <asm/gpio.h>
#include <asm/mach-imx/iomux-v3.h>
+#include <asm/sections.h>
#include <dm.h>
#include <env.h>
#include <mmc.h>
--- a/board/variscite/dart_6ul/spl.c
+++ b/board/variscite/dart_6ul/spl.c
@@ -12,6 +12,7 @@
#include <asm/arch/mx6-ddr.h>
#include <asm/arch/mx6-pins.h>
#include <asm/arch/crm_regs.h>
+#include <asm/sections.h>
#include <fsl_esdhc_imx.h>
#define UART_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \
--- a/board/variscite/imx8mn_var_som/spl.c
+++ b/board/variscite/imx8mn_var_som/spl.c
@@ -13,6 +13,7 @@
#include <asm/arch/sys_proto.h>
#include <asm/mach-imx/boot_mode.h>
#include <asm/mach-imx/gpio.h>
+#include <asm/sections.h>
#include <dm/device.h>
#include <dm/uclass.h>
--- a/include/asm-generic/sections.h
+++ b/include/asm-generic/sections.h
@@ -61,8 +61,12 @@ static inline int arch_is_kernel_data(un
/* Start of U-Boot text region */
extern char __text_start[];
-/* This marks the end of the text region which must be relocated */
-extern char __image_copy_end[];
+/* This marks the text region which must be relocated */
+extern char __image_copy_start[], __image_copy_end[];
+
+extern char __bss_end[];
+extern char __rel_dyn_start[], __rel_dyn_end[];
+extern char _image_binary_end[];
/*
* This is the U-Boot entry point - prior to relocation it should be same
@@ -70,30 +74,4 @@ extern char __image_copy_end[];
*/
extern void _start(void);
-/*
- * ARM defines its symbols as char[]. Other arches define them as ulongs.
- */
-#ifdef CONFIG_ARM
-
-extern char __bss_start[];
-extern char __bss_end[];
-extern char __image_copy_start[];
-extern char __image_copy_end[];
-extern char _image_binary_end[];
-extern char __rel_dyn_start[];
-extern char __rel_dyn_end[];
-
-#else /* don't use offsets: */
-
-/* Exports from the Linker Script */
-extern ulong __data_end;
-extern ulong __rel_dyn_start;
-extern ulong __rel_dyn_end;
-extern ulong __bss_end;
-extern ulong _image_binary_end;
-
-extern ulong _TEXT_BASE; /* code start */
-
-#endif
-
#endif /* _ASM_GENERIC_SECTIONS_H_ */

View File

@@ -1,14 +1,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=wireless-regdb
PKG_VERSION:=2024.07.04
PKG_VERSION:=2025.07.10
PKG_RELEASE:=1
PKG_LICENSE:=ISC
PKG_LICENSE_FILES:=LICENSE
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/software/network/wireless-regdb/
PKG_HASH:=9832a14e1be24abff7be30dee3c9a1afb5fdfcf475a0d91aafef039f8d85f5eb
PKG_HASH:=a8340bcdcd1b5db6c79149879d122b170f3bb075381718d4f429ad831a6fa28d
PKG_MAINTAINER:=Felix Fietkau <nbd@nbd.name>

View File

@@ -10,13 +10,13 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=mac80211
PKG_VERSION:=6.1.110-1
PKG_VERSION:=6.1.145-1
PKG_RELEASE:=1
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=COPYING
PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v6.1.110/
PKG_HASH:=2415bc529ca25be0aa597f9638d8b6fc4138080bbaea96881a38101896df6703
PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v6.1.145/
PKG_HASH:=05f2c39f1be0aab49014a6e27a9492ce7ed0491f552db8a07f3ba0de33b9317d
PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz
PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION)

View File

@@ -203,7 +203,7 @@ mac80211_hostapd_setup_base() {
dsss_cck_40:1
ht_cap_mask=0
for cap in $(iw phy "$phy" info | grep 'Capabilities:' | cut -d: -f2); do
for cap in $(iw phy "$phy" info | grep -E '^\s*Capabilities:' | cut -d: -f2); do
ht_cap_mask="$(($ht_cap_mask | $cap))"
done

View File

@@ -1,6 +1,6 @@
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -3373,6 +3373,8 @@ void regulatory_hint_country_ie(struct w
@@ -3374,6 +3374,8 @@ void regulatory_hint_country_ie(struct w
enum environment_cap env = ENVIRON_ANY;
struct regulatory_request *request = NULL, *lr;
@@ -9,7 +9,7 @@
/* IE len must be evenly divisible by 2 */
if (country_ie_len & 0x01)
return;
@@ -3624,6 +3626,7 @@ static bool is_wiphy_all_set_reg_flag(en
@@ -3625,6 +3627,7 @@ static bool is_wiphy_all_set_reg_flag(en
void regulatory_hint_disconnect(void)
{

View File

@@ -8,7 +8,7 @@
#include "../ath.h"
#include "ath5k.h"
#include "debug.h"
@@ -71,7 +72,7 @@ static void ath5k_pci_read_cachesize(str
@@ -73,7 +74,7 @@ static void ath5k_pci_read_cachesize(str
}
/*
@@ -17,7 +17,7 @@
*/
static bool
ath5k_pci_eeprom_read(struct ath_common *common, u32 offset, u16 *data)
@@ -79,6 +80,19 @@ ath5k_pci_eeprom_read(struct ath_common
@@ -81,6 +82,19 @@ ath5k_pci_eeprom_read(struct ath_common
struct ath5k_hw *ah = (struct ath5k_hw *) common->ah;
u32 status, timeout;
@@ -37,7 +37,7 @@
/*
* Initialize EEPROM access
*/
@@ -122,6 +136,16 @@ static int ath5k_pci_eeprom_read_mac(str
@@ -124,6 +138,16 @@ static int ath5k_pci_eeprom_read_mac(str
u16 data;
int octet;

View File

@@ -456,7 +456,7 @@ v13:
{
--- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c
+++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
@@ -4598,6 +4598,8 @@ static const struct wmi_ops wmi_tlv_ops
@@ -4603,6 +4603,8 @@ static const struct wmi_ops wmi_tlv_ops
.gen_echo = ath10k_wmi_tlv_op_gen_echo,
.gen_vdev_spectral_conf = ath10k_wmi_tlv_op_gen_vdev_spectral_conf,
.gen_vdev_spectral_enable = ath10k_wmi_tlv_op_gen_vdev_spectral_enable,
@@ -467,7 +467,7 @@ v13:
static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
--- a/drivers/net/wireless/ath/ath10k/wmi.c
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
@@ -7492,6 +7492,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
@@ -7493,6 +7493,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
return skb;
}
@@ -517,7 +517,7 @@ v13:
static struct sk_buff *
ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
enum wmi_sta_ps_mode psmode)
@@ -9180,6 +9223,9 @@ static const struct wmi_ops wmi_ops = {
@@ -9181,6 +9224,9 @@ static const struct wmi_ops wmi_ops = {
.fw_stats_fill = ath10k_wmi_main_op_fw_stats_fill,
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
.gen_echo = ath10k_wmi_op_gen_echo,
@@ -527,7 +527,7 @@ v13:
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
@@ -9250,6 +9296,8 @@ static const struct wmi_ops wmi_10_1_ops
@@ -9251,6 +9297,8 @@ static const struct wmi_ops wmi_10_1_ops
.fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
.gen_echo = ath10k_wmi_op_gen_echo,
@@ -536,7 +536,7 @@ v13:
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
@@ -9322,6 +9370,8 @@ static const struct wmi_ops wmi_10_2_ops
@@ -9323,6 +9371,8 @@ static const struct wmi_ops wmi_10_2_ops
.gen_delba_send = ath10k_wmi_op_gen_delba_send,
.fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
@@ -545,7 +545,7 @@ v13:
/* .gen_pdev_enable_adaptive_cca not implemented */
};
@@ -9393,6 +9443,8 @@ static const struct wmi_ops wmi_10_2_4_o
@@ -9394,6 +9444,8 @@ static const struct wmi_ops wmi_10_2_4_o
ath10k_wmi_op_gen_pdev_enable_adaptive_cca,
.get_vdev_subtype = ath10k_wmi_10_2_4_op_get_vdev_subtype,
.gen_bb_timing = ath10k_wmi_10_2_4_op_gen_bb_timing,
@@ -554,7 +554,7 @@ v13:
/* .gen_bcn_tmpl not implemented */
/* .gen_prb_tmpl not implemented */
/* .gen_p2p_go_bcn_ie not implemented */
@@ -9474,6 +9526,8 @@ static const struct wmi_ops wmi_10_4_ops
@@ -9475,6 +9527,8 @@ static const struct wmi_ops wmi_10_4_ops
.gen_pdev_bss_chan_info_req = ath10k_wmi_10_2_op_gen_pdev_bss_chan_info,
.gen_echo = ath10k_wmi_op_gen_echo,
.gen_pdev_get_tpc_config = ath10k_wmi_10_2_4_op_gen_pdev_get_tpc_config,

View File

@@ -35,7 +35,7 @@ Link: https://lore.kernel.org/r/20220923170235.18873-1-quic_adisi@quicinc.com
--- a/drivers/net/wireless/ath/ath11k/core.c
+++ b/drivers/net/wireless/ath/ath11k/core.c
@@ -1668,7 +1668,7 @@ static void ath11k_update_11d(struct wor
@@ -1675,7 +1675,7 @@ static void ath11k_update_11d(struct wor
}
}
@@ -44,7 +44,7 @@ Link: https://lore.kernel.org/r/20220923170235.18873-1-quic_adisi@quicinc.com
{
struct ath11k *ar;
struct ath11k_pdev *pdev;
@@ -1757,9 +1757,6 @@ static void ath11k_core_restart(struct w
@@ -1764,9 +1764,6 @@ static void ath11k_core_restart(struct w
struct ath11k_base *ab = container_of(work, struct ath11k_base, restart_work);
int ret;
@@ -56,7 +56,7 @@ Link: https://lore.kernel.org/r/20220923170235.18873-1-quic_adisi@quicinc.com
ath11k_err(ab, "failed to reconfigure driver on crash recovery\n");
--- a/drivers/net/wireless/ath/ath11k/core.h
+++ b/drivers/net/wireless/ath/ath11k/core.h
@@ -1158,6 +1158,7 @@ int ath11k_core_check_smbios(struct ath1
@@ -1160,6 +1160,7 @@ int ath11k_core_check_smbios(struct ath1
void ath11k_core_halt(struct ath11k *ar);
int ath11k_core_resume(struct ath11k_base *ab);
int ath11k_core_suspend(struct ath11k_base *ab);
@@ -66,7 +66,7 @@ Link: https://lore.kernel.org/r/20220923170235.18873-1-quic_adisi@quicinc.com
const char *filename);
--- a/drivers/net/wireless/ath/ath11k/qmi.c
+++ b/drivers/net/wireless/ath/ath11k/qmi.c
@@ -3169,6 +3169,9 @@ static void ath11k_qmi_driver_event_work
@@ -3178,6 +3178,9 @@ static void ath11k_qmi_driver_event_work
case ATH11K_QMI_EVENT_SERVER_EXIT:
set_bit(ATH11K_FLAG_CRASH_FLUSH, &ab->dev_flags);
set_bit(ATH11K_FLAG_RECOVERY, &ab->dev_flags);

View File

@@ -90,7 +90,7 @@ Link: https://lore.kernel.org/r/20221007051130.6067-1-quic_mpubbise@quicinc.com
exit:
kfree(arg.chan_list);
@@ -9072,6 +9094,9 @@ static int __ath11k_mac_register(struct
@@ -9074,6 +9096,9 @@ static int __ath11k_mac_register(struct
NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP);
}

View File

@@ -27,7 +27,7 @@ Link: https://lore.kernel.org/r/20221014155054.11471-1-quic_nmaran@quicinc.com
--- a/drivers/net/wireless/ath/ath11k/core.c
+++ b/drivers/net/wireless/ath/ath11k/core.c
@@ -1704,6 +1704,10 @@ void ath11k_core_pre_reconfigure_recover
@@ -1711,6 +1711,10 @@ void ath11k_core_pre_reconfigure_recover
ath11k_mac_tx_mgmt_pending_free, ar);
idr_destroy(&ar->txmgmt_idr);
wake_up(&ar->txmgmt_empty_waitq);

View File

@@ -34,7 +34,7 @@ Link: https://lore.kernel.org/r/20221122132152.17771-4-quic_kathirve@quicinc.com
.rx_mac_buf_ring = false,
--- a/drivers/net/wireless/ath/ath11k/core.h
+++ b/drivers/net/wireless/ath/ath11k/core.h
@@ -1145,6 +1145,9 @@ extern const struct service_to_pipe ath1
@@ -1147,6 +1147,9 @@ extern const struct service_to_pipe ath1
extern const struct ce_pipe_config ath11k_target_ce_config_wlan_qca6390[];
extern const struct service_to_pipe ath11k_target_service_to_ce_map_wlan_qca6390[];

View File

@@ -212,7 +212,7 @@ Link: https://lore.kernel.org/r/20221122132152.17771-5-quic_kathirve@quicinc.com
.rx_mac_buf_ring = false,
--- a/drivers/net/wireless/ath/ath11k/core.h
+++ b/drivers/net/wireless/ath/ath11k/core.h
@@ -851,6 +851,7 @@ struct ath11k_base {
@@ -853,6 +853,7 @@ struct ath11k_base {
struct ath11k_dp dp;
void __iomem *mem;

View File

@@ -146,7 +146,7 @@ Link: https://lore.kernel.org/r/20221220044435.10506-1-quic_rajkbhag@quicinc.com
if (changed & BSS_CHANGED_FILS_DISCOVERY ||
changed & BSS_CHANGED_UNSOL_BCAST_PROBE_RESP)
ath11k_mac_fils_discovery(arvif, info);
@@ -9125,6 +9139,10 @@ static int __ath11k_mac_register(struct
@@ -9127,6 +9141,10 @@ static int __ath11k_mac_register(struct
wiphy_ext_feature_set(ar->hw->wiphy,
NL80211_EXT_FEATURE_SET_SCAN_DWELL);

View File

@@ -36,7 +36,7 @@ Link: https://lore.kernel.org/r/20221219053844.4084486-1-quic_mkenna@quicinc.com
static int ath11k_hw_mac_id_to_pdev_id_ipq8074(struct ath11k_hw_params *hw,
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -9186,6 +9186,11 @@ static int __ath11k_mac_register(struct
@@ -9188,6 +9188,11 @@ static int __ath11k_mac_register(struct
goto err_free_if_combs;
}

View File

@@ -65,7 +65,7 @@ Link: https://lore.kernel.org/r/20230309164434.32660-1-quic_hprem@quicinc.com
return 0;
}
@@ -3037,39 +3014,51 @@ static int ath11k_dp_rx_reap_mon_status_
@@ -3044,39 +3021,51 @@ static int ath11k_dp_rx_reap_mon_status_
spin_lock_bh(&rx_ring->idr_lock);
skb = idr_find(&rx_ring->bufs_idr, buf_id);

View File

@@ -106,7 +106,7 @@ Link: https://lore.kernel.org/r/20230317072034.8217-1-quic_gjothira@quicinc.com
(vif->type == NL80211_IFTYPE_AP ||
vif->type == NL80211_IFTYPE_MESH_POINT)) {
arvif->ftm_responder = info->ftm_responder;
@@ -9246,7 +9246,7 @@ static int __ath11k_mac_register(struct
@@ -9248,7 +9248,7 @@ static int __ath11k_mac_register(struct
wiphy_ext_feature_set(ar->hw->wiphy,
NL80211_EXT_FEATURE_SET_SCAN_DWELL);

View File

@@ -24,7 +24,7 @@ Link: https://lore.kernel.org/r/20230320110312.20639-1-quic_ppranees@quicinc.com
--- a/drivers/net/wireless/ath/ath11k/hal_rx.c
+++ b/drivers/net/wireless/ath/ath11k/hal_rx.c
@@ -865,6 +865,12 @@ ath11k_hal_rx_populate_mu_user_info(void
@@ -866,6 +866,12 @@ ath11k_hal_rx_populate_mu_user_info(void
ath11k_hal_rx_populate_byte_count(rx_tlv, ppdu_info, rx_user_status);
}
@@ -37,7 +37,7 @@ Link: https://lore.kernel.org/r/20230320110312.20639-1-quic_ppranees@quicinc.com
static enum hal_rx_mon_status
ath11k_hal_rx_parse_mon_status_tlv(struct ath11k_base *ab,
struct hal_rx_mon_ppdu_info *ppdu_info,
@@ -1459,9 +1465,11 @@ ath11k_hal_rx_parse_mon_status_tlv(struc
@@ -1460,9 +1466,11 @@ ath11k_hal_rx_parse_mon_status_tlv(struc
break;
}
case HAL_RX_MPDU_START: {

View File

@@ -19,7 +19,7 @@ Link: https://lore.kernel.org/r/20230405090425.1351-1-kvalo@kernel.org
--- a/drivers/net/wireless/ath/ath11k/dp_rx.c
+++ b/drivers/net/wireless/ath/ath11k/dp_rx.c
@@ -3114,8 +3114,11 @@ int ath11k_peer_rx_frag_setup(struct ath
@@ -3121,8 +3121,11 @@ int ath11k_peer_rx_frag_setup(struct ath
int i;
tfm = crypto_alloc_shash("michael_mic", 0, 0);

View File

@@ -18,7 +18,7 @@ Link: https://lore.kernel.org/r/20230403184155.8670-3-quic_nmaran@quicinc.com
--- a/drivers/net/wireless/ath/ath11k/dp_rx.c
+++ b/drivers/net/wireless/ath/ath11k/dp_rx.c
@@ -3606,7 +3606,7 @@ static int ath11k_dp_rx_frag_h_mpdu(stru
@@ -3613,7 +3613,7 @@ static int ath11k_dp_rx_frag_h_mpdu(stru
goto out_unlock;
}

View File

@@ -18,7 +18,7 @@ Link: https://lore.kernel.org/r/20230403195738.25367-3-quic_pradeepc@quicinc.com
--- a/drivers/net/wireless/ath/ath11k/hal_rx.c
+++ b/drivers/net/wireless/ath/ath11k/hal_rx.c
@@ -1029,7 +1029,7 @@ ath11k_hal_rx_parse_mon_status_tlv(struc
@@ -1030,7 +1030,7 @@ ath11k_hal_rx_parse_mon_status_tlv(struc
info1 = __le32_to_cpu(vht_sig->info1);
ppdu_info->ldpc = FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO1_SU_MU_CODING,
@@ -27,7 +27,7 @@ Link: https://lore.kernel.org/r/20230403195738.25367-3-quic_pradeepc@quicinc.com
ppdu_info->mcs = FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO1_MCS,
info1);
gi_setting = FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO1_GI_SETTING,
@@ -1452,7 +1452,7 @@ ath11k_hal_rx_parse_mon_status_tlv(struc
@@ -1453,7 +1453,7 @@ ath11k_hal_rx_parse_mon_status_tlv(struc
* PHYRX_OTHER_RECEIVE_INFO TLV.
*/
ppdu_info->rssi_comb =

View File

@@ -56,7 +56,7 @@ Link: https://lore.kernel.org/r/20230405221648.17950-2-quic_alokad@quicinc.com
#define ATH11K_QUEUE_LEN 4096
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -9013,19 +9013,23 @@ static int ath11k_mac_setup_iface_combin
@@ -9015,19 +9015,23 @@ static int ath11k_mac_setup_iface_combin
static const u8 ath11k_if_types_ext_capa[] = {
[0] = WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING,
@@ -80,7 +80,7 @@ Link: https://lore.kernel.org/r/20230405221648.17950-2-quic_alokad@quicinc.com
};
static const struct wiphy_iftype_ext_capab ath11k_iftypes_ext_capa[] = {
@@ -9263,6 +9267,9 @@ static int __ath11k_mac_register(struct
@@ -9265,6 +9269,9 @@ static int __ath11k_mac_register(struct
wiphy_ext_feature_set(ar->hw->wiphy,
NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER);

View File

@@ -1,128 +0,0 @@
From 86f85575a3f6a20cef1c8bb98e78585fe3a53ccc Mon Sep 17 00:00:00 2001
From: Govindaraj Saminathan <quic_gsaminat@quicinc.com>
Date: Fri, 26 May 2023 12:41:06 +0300
Subject: [PATCH 82/84] wifi: ath11k: remove unused function
ath11k_tm_event_wmi()
The function ath11k_tm_event_wmi() is only defined and it is not used
anywhere. Hence remove the unused.
Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
Signed-off-by: Govindaraj Saminathan <quic_gsaminat@quicinc.com>
Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20230517135934.16408-2-quic_rajkbhag@quicinc.com
---
drivers/net/wireless/ath/ath11k/testmode.c | 64 +---------------------
drivers/net/wireless/ath/ath11k/testmode.h | 8 +--
2 files changed, 2 insertions(+), 70 deletions(-)
--- a/drivers/net/wireless/ath/ath11k/testmode.c
+++ b/drivers/net/wireless/ath/ath11k/testmode.c
@@ -1,6 +1,7 @@
// SPDX-License-Identifier: BSD-3-Clause-Clear
/*
* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include "testmode.h"
@@ -20,69 +21,6 @@ static const struct nla_policy ath11k_tm
[ATH11K_TM_ATTR_VERSION_MINOR] = { .type = NLA_U32 },
};
-/* Returns true if callee consumes the skb and the skb should be discarded.
- * Returns false if skb is not used. Does not sleep.
- */
-bool ath11k_tm_event_wmi(struct ath11k *ar, u32 cmd_id, struct sk_buff *skb)
-{
- struct sk_buff *nl_skb;
- bool consumed;
- int ret;
-
- ath11k_dbg(ar->ab, ATH11K_DBG_TESTMODE,
- "testmode event wmi cmd_id %d skb %pK skb->len %d\n",
- cmd_id, skb, skb->len);
-
- ath11k_dbg_dump(ar->ab, ATH11K_DBG_TESTMODE, NULL, "", skb->data, skb->len);
-
- spin_lock_bh(&ar->data_lock);
-
- consumed = true;
-
- nl_skb = cfg80211_testmode_alloc_event_skb(ar->hw->wiphy,
- 2 * sizeof(u32) + skb->len,
- GFP_ATOMIC);
- if (!nl_skb) {
- ath11k_warn(ar->ab,
- "failed to allocate skb for testmode wmi event\n");
- goto out;
- }
-
- ret = nla_put_u32(nl_skb, ATH11K_TM_ATTR_CMD, ATH11K_TM_CMD_WMI);
- if (ret) {
- ath11k_warn(ar->ab,
- "failed to put testmode wmi event cmd attribute: %d\n",
- ret);
- kfree_skb(nl_skb);
- goto out;
- }
-
- ret = nla_put_u32(nl_skb, ATH11K_TM_ATTR_WMI_CMDID, cmd_id);
- if (ret) {
- ath11k_warn(ar->ab,
- "failed to put testmode wmi even cmd_id: %d\n",
- ret);
- kfree_skb(nl_skb);
- goto out;
- }
-
- ret = nla_put(nl_skb, ATH11K_TM_ATTR_DATA, skb->len, skb->data);
- if (ret) {
- ath11k_warn(ar->ab,
- "failed to copy skb to testmode wmi event: %d\n",
- ret);
- kfree_skb(nl_skb);
- goto out;
- }
-
- cfg80211_testmode_event(nl_skb, GFP_ATOMIC);
-
-out:
- spin_unlock_bh(&ar->data_lock);
-
- return consumed;
-}
-
static int ath11k_tm_cmd_get_version(struct ath11k *ar, struct nlattr *tb[])
{
struct sk_buff *skb;
--- a/drivers/net/wireless/ath/ath11k/testmode.h
+++ b/drivers/net/wireless/ath/ath11k/testmode.h
@@ -1,24 +1,18 @@
/* SPDX-License-Identifier: BSD-3-Clause-Clear */
/*
* Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include "core.h"
#ifdef CPTCFG_NL80211_TESTMODE
-bool ath11k_tm_event_wmi(struct ath11k *ar, u32 cmd_id, struct sk_buff *skb);
int ath11k_tm_cmd(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
void *data, int len);
#else
-static inline bool ath11k_tm_event_wmi(struct ath11k *ar, u32 cmd_id,
- struct sk_buff *skb)
-{
- return false;
-}
-
static inline int ath11k_tm_cmd(struct ieee80211_hw *hw,
struct ieee80211_vif *vif,
void *data, int len)

View File

@@ -91,7 +91,7 @@ Link: https://lore.kernel.org/r/20230517135934.16408-4-quic_rajkbhag@quicinc.com
static const struct ath11k_hw_params ath11k_hw_params[] = {
{
.hw_rev = ATH11K_HW_IPQ8074,
@@ -1381,6 +1385,11 @@ static int ath11k_core_soc_create(struct
@@ -1382,6 +1386,11 @@ static int ath11k_core_soc_create(struct
{
int ret;
@@ -103,16 +103,16 @@ Link: https://lore.kernel.org/r/20230517135934.16408-4-quic_rajkbhag@quicinc.com
ret = ath11k_qmi_init_service(ab);
if (ret) {
ath11k_err(ab, "failed to initialize qmi :%d\n", ret);
@@ -1607,7 +1616,7 @@ int ath11k_core_qmi_firmware_ready(struc
{
int ret;
@@ -1622,7 +1631,7 @@ int ath11k_core_qmi_firmware_ready(struc
return -EINVAL;
}
- ret = ath11k_core_start_firmware(ab, ATH11K_FIRMWARE_MODE_NORMAL);
+ ret = ath11k_core_start_firmware(ab, ab->fw_mode);
if (ret) {
ath11k_err(ab, "failed to start firmware: %d\n", ret);
return ret;
@@ -1772,7 +1781,8 @@ void ath11k_core_pre_reconfigure_recover
@@ -1779,7 +1788,8 @@ void ath11k_core_pre_reconfigure_recover
for (i = 0; i < ab->num_radios; i++) {
pdev = &ab->pdevs[i];
ar = pdev->ar;
@@ -122,7 +122,7 @@ Link: https://lore.kernel.org/r/20230517135934.16408-4-quic_rajkbhag@quicinc.com
continue;
ieee80211_stop_queues(ar->hw);
@@ -1841,7 +1851,12 @@ static void ath11k_core_post_reconfigure
@@ -1848,7 +1858,12 @@ static void ath11k_core_post_reconfigure
ath11k_warn(ab,
"device is wedged, will not restart radio %d\n", i);
break;
@@ -170,7 +170,7 @@ Link: https://lore.kernel.org/r/20230517135934.16408-4-quic_rajkbhag@quicinc.com
/* Add other states as required */
};
@@ -709,6 +712,8 @@ struct ath11k {
@@ -711,6 +714,8 @@ struct ath11k {
u32 last_ppdu_id;
u32 cached_ppdu_id;
int monitor_vdev_id;
@@ -179,7 +179,7 @@ Link: https://lore.kernel.org/r/20230517135934.16408-4-quic_rajkbhag@quicinc.com
#ifdef CPTCFG_ATH11K_DEBUGFS
struct ath11k_debug debug;
#endif
@@ -838,6 +843,7 @@ struct ath11k_msi_config {
@@ -840,6 +845,7 @@ struct ath11k_msi_config {
/* Master structure to hold the hw data which may be used in core module */
struct ath11k_base {
enum ath11k_hw_rev hw_rev;
@@ -187,7 +187,7 @@ Link: https://lore.kernel.org/r/20230517135934.16408-4-quic_rajkbhag@quicinc.com
struct platform_device *pdev;
struct device *dev;
struct ath11k_qmi qmi;
@@ -978,6 +984,14 @@ struct ath11k_base {
@@ -980,6 +986,14 @@ struct ath11k_base {
const struct ath11k_pci_ops *ops;
} pci;

View File

@@ -30,7 +30,7 @@ Link: https://lore.kernel.org/r/20230517135934.16408-5-quic_rajkbhag@quicinc.com
*/
#include <linux/elf.h>
@@ -2465,6 +2465,14 @@ static int ath11k_qmi_load_bdf_qmi(struc
@@ -2474,6 +2474,14 @@ static int ath11k_qmi_load_bdf_qmi(struc
fw_entry = ath11k_core_firmware_request(ab, ATH11K_DEFAULT_CAL_FILE);
if (IS_ERR(fw_entry)) {

View File

@@ -115,7 +115,7 @@ Link: https://lore.kernel.org/r/20230726141032.3061-2-quic_rajkbhag@quicinc.com
.cbcal_restart_fw = true,
.fix_l1ss = true,
.supports_dynamic_smps_6ghz = false,
@@ -749,6 +757,18 @@ void ath11k_fw_stats_free(struct ath11k_
@@ -750,6 +758,18 @@ void ath11k_fw_stats_free(struct ath11k_
ath11k_fw_stats_bcn_free(&stats->bcn);
}
@@ -136,7 +136,7 @@ Link: https://lore.kernel.org/r/20230726141032.3061-2-quic_rajkbhag@quicinc.com
int ret;
--- a/drivers/net/wireless/ath/ath11k/core.h
+++ b/drivers/net/wireless/ath/ath11k/core.h
@@ -1186,6 +1186,7 @@ void ath11k_core_halt(struct ath11k *ar)
@@ -1188,6 +1188,7 @@ void ath11k_core_halt(struct ath11k *ar)
int ath11k_core_resume(struct ath11k_base *ab);
int ath11k_core_suspend(struct ath11k_base *ab);
void ath11k_core_pre_reconfigure_recovery(struct ath11k_base *ab);
@@ -158,7 +158,7 @@ Link: https://lore.kernel.org/r/20230726141032.3061-2-quic_rajkbhag@quicinc.com
u32 num_vdevs;
--- a/drivers/net/wireless/ath/ath11k/qmi.c
+++ b/drivers/net/wireless/ath/ath11k/qmi.c
@@ -2082,7 +2082,7 @@ static int ath11k_qmi_assign_target_mem_
@@ -2091,7 +2091,7 @@ static int ath11k_qmi_assign_target_mem_
return -EINVAL;
}
@@ -167,7 +167,7 @@ Link: https://lore.kernel.org/r/20230726141032.3061-2-quic_rajkbhag@quicinc.com
if (hremote_node) {
ab->qmi.target_mem[idx].paddr =
res.start + host_ddr_sz;
@@ -3212,8 +3212,8 @@ static void ath11k_qmi_driver_event_work
@@ -3221,8 +3221,8 @@ static void ath11k_qmi_driver_event_work
break;
}

View File

@@ -122,7 +122,7 @@ Link: https://lore.kernel.org/r/20230726141032.3061-3-quic_rajkbhag@quicinc.com
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/ioport.h>
@@ -2842,6 +2843,33 @@ int ath11k_qmi_firmware_start(struct ath
@@ -2851,6 +2852,33 @@ int ath11k_qmi_firmware_start(struct ath
return 0;
}

View File

@@ -22,7 +22,7 @@ Link: https://lore.kernel.org/r/20230726141032.3061-4-quic_rajkbhag@quicinc.com
--- a/drivers/net/wireless/ath/ath11k/qmi.c
+++ b/drivers/net/wireless/ath/ath11k/qmi.c
@@ -2847,7 +2847,7 @@ int ath11k_qmi_fwreset_from_cold_boot(st
@@ -2856,7 +2856,7 @@ int ath11k_qmi_fwreset_from_cold_boot(st
{
int timeout;

View File

@@ -22,7 +22,7 @@ Link: https://lore.kernel.org/r/20230830060226.18664-1-quic_wgong@quicinc.com
--- a/drivers/net/wireless/ath/ath11k/core.c
+++ b/drivers/net/wireless/ath/ath11k/core.c
@@ -985,9 +985,15 @@ int ath11k_core_check_dt(struct ath11k_b
@@ -986,9 +986,15 @@ int ath11k_core_check_dt(struct ath11k_b
return 0;
}
@@ -39,7 +39,7 @@ Link: https://lore.kernel.org/r/20230830060226.18664-1-quic_wgong@quicinc.com
{
/* strlen(',variant=') + strlen(ab->qmi.target.bdf_ext) */
char variant[9 + ATH11K_QMI_BDF_EXT_STR_LENGTH] = { 0 };
@@ -998,11 +1004,8 @@ static int __ath11k_core_create_board_na
@@ -999,11 +1005,8 @@ static int __ath11k_core_create_board_na
switch (ab->id.bdf_search) {
case ATH11K_BDF_SEARCH_BUS_AND_BOARD:
@@ -53,7 +53,7 @@ Link: https://lore.kernel.org/r/20230830060226.18664-1-quic_wgong@quicinc.com
scnprintf(name, name_len,
"bus=%s,vendor=%04x,device=%04x,subsystem-vendor=%04x,subsystem-device=%04x,qmi-chip-id=%d,qmi-board-id=%d%s",
ath11k_bus_str(ab->hif.bus),
@@ -1012,6 +1015,19 @@ static int __ath11k_core_create_board_na
@@ -1013,6 +1016,19 @@ static int __ath11k_core_create_board_na
ab->qmi.target.chip_id,
ab->qmi.target.board_id,
variant);
@@ -73,7 +73,7 @@ Link: https://lore.kernel.org/r/20230830060226.18664-1-quic_wgong@quicinc.com
break;
default:
scnprintf(name, name_len,
@@ -1030,19 +1046,29 @@ static int __ath11k_core_create_board_na
@@ -1031,19 +1047,29 @@ static int __ath11k_core_create_board_na
static int ath11k_core_create_board_name(struct ath11k_base *ab, char *name,
size_t name_len)
{
@@ -106,7 +106,7 @@ Link: https://lore.kernel.org/r/20230830060226.18664-1-quic_wgong@quicinc.com
}
const struct firmware *ath11k_core_firmware_request(struct ath11k_base *ab,
@@ -1289,16 +1315,21 @@ int ath11k_core_fetch_board_data_api_1(s
@@ -1290,16 +1316,21 @@ int ath11k_core_fetch_board_data_api_1(s
#define BOARD_NAME_SIZE 200
int ath11k_core_fetch_bdf(struct ath11k_base *ab, struct ath11k_board_data *bd)
{
@@ -132,7 +132,7 @@ Link: https://lore.kernel.org/r/20230830060226.18664-1-quic_wgong@quicinc.com
}
ab->bd_api = 2;
@@ -1307,13 +1338,19 @@ int ath11k_core_fetch_bdf(struct ath11k_
@@ -1308,13 +1339,19 @@ int ath11k_core_fetch_bdf(struct ath11k_
ATH11K_BD_IE_BOARD_NAME,
ATH11K_BD_IE_BOARD_DATA);
if (!ret)
@@ -155,7 +155,7 @@ Link: https://lore.kernel.org/r/20230830060226.18664-1-quic_wgong@quicinc.com
}
ret = ath11k_core_fetch_board_data_api_n(ab, bd, fallback_boardname,
@@ -1321,7 +1358,28 @@ int ath11k_core_fetch_bdf(struct ath11k_
@@ -1322,7 +1359,28 @@ int ath11k_core_fetch_bdf(struct ath11k_
ATH11K_BD_IE_BOARD_NAME,
ATH11K_BD_IE_BOARD_DATA);
if (!ret)
@@ -185,7 +185,7 @@ Link: https://lore.kernel.org/r/20230830060226.18664-1-quic_wgong@quicinc.com
ab->bd_api = 1;
ret = ath11k_core_fetch_board_data_api_1(ab, bd, ATH11K_DEFAULT_BOARD_FILE);
@@ -1334,14 +1392,22 @@ int ath11k_core_fetch_bdf(struct ath11k_
@@ -1335,14 +1393,22 @@ int ath11k_core_fetch_bdf(struct ath11k_
ath11k_err(ab, "failed to fetch board data for %s from %s\n",
fallback_boardname, filepath);

View File

@@ -31,7 +31,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
{
.hw_rev = ATH11K_HW_IPQ8074,
.name = "ipq8074 hw2.0",
@@ -2040,7 +2040,8 @@ static void ath11k_core_reset(struct wor
@@ -2047,7 +2047,8 @@ static void ath11k_core_reset(struct wor
static int ath11k_init_hw_params(struct ath11k_base *ab)
{
const struct ath11k_hw_params *hw_params = NULL;
@@ -41,7 +41,7 @@ Signed-off-by: Robert Marko <robimarko@gmail.com>
for (i = 0; i < ARRAY_SIZE(ath11k_hw_params); i++) {
hw_params = &ath11k_hw_params[i];
@@ -2056,7 +2057,31 @@ static int ath11k_init_hw_params(struct
@@ -2063,7 +2064,31 @@ static int ath11k_init_hw_params(struct
ab->hw_params = *hw_params;

View File

@@ -1,11 +0,0 @@
--- a/drivers/net/wireless/ath/ath5k/pci.c
+++ b/drivers/net/wireless/ath/ath5k/pci.c
@@ -47,6 +47,8 @@ static const struct pci_device_id ath5k_
{ PCI_VDEVICE(ATHEROS, 0x001b) }, /* 5413 Eagle */
{ PCI_VDEVICE(ATHEROS, 0x001c) }, /* PCI-E cards */
{ PCI_VDEVICE(ATHEROS, 0x001d) }, /* 2417 Nala */
+ { PCI_VDEVICE(ATHEROS, 0xff16) }, /* 2413,2414 sx76x on lantiq_danube */
+ { PCI_VDEVICE(ATHEROS, 0xff1a) }, /* 2417 arv45xx on lantiq_danube */
{ PCI_VDEVICE(ATHEROS, 0xff1b) }, /* AR5BXB63 */
{ 0 }
};

View File

@@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -882,6 +882,7 @@ static const struct ieee80211_iface_limi
@@ -884,6 +884,7 @@ static const struct ieee80211_iface_limi
BIT(NL80211_IFTYPE_AP) },
{ .max = 1, .types = BIT(NL80211_IFTYPE_P2P_CLIENT) |
BIT(NL80211_IFTYPE_P2P_GO) },

View File

@@ -14,7 +14,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -963,6 +963,7 @@ static void ath9k_set_hw_capab(struct at
@@ -965,6 +965,7 @@ static void ath9k_set_hw_capab(struct at
ieee80211_hw_set(hw, HOST_BROADCAST_PS_BUFFERING);
ieee80211_hw_set(hw, SUPPORT_FAST_XMIT);
ieee80211_hw_set(hw, SUPPORTS_CLONED_SKBS);
@@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail@david-bauer.net>
if (ath9k_ps_enable)
ieee80211_hw_set(hw, SUPPORTS_PS);
@@ -975,9 +976,6 @@ static void ath9k_set_hw_capab(struct at
@@ -977,9 +978,6 @@ static void ath9k_set_hw_capab(struct at
IEEE80211_RADIOTAP_MCS_HAVE_STBC;
}

View File

@@ -55,7 +55,7 @@
int ath9k_init_debug(struct ath_hw *ah)
{
struct ath_common *common = ath9k_hw_common(ah);
@@ -1432,6 +1480,8 @@ int ath9k_init_debug(struct ath_hw *ah)
@@ -1430,6 +1478,8 @@ int ath9k_init_debug(struct ath_hw *ah)
ath9k_tx99_init_debug(sc);
ath9k_cmn_spectral_init_debug(&sc->spec_priv, sc->debug.debugfs_phy);

View File

@@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -1178,25 +1178,25 @@ static int __init ath9k_init(void)
@@ -1180,25 +1180,25 @@ static int __init ath9k_init(void)
{
int error;

View File

@@ -53,7 +53,7 @@
int ath9k_init_debug(struct ath_hw *ah)
{
struct ath_common *common = ath9k_hw_common(ah);
@@ -1482,6 +1528,8 @@ int ath9k_init_debug(struct ath_hw *ah)
@@ -1480,6 +1526,8 @@ int ath9k_init_debug(struct ath_hw *ah)
debugfs_create_file("eeprom", S_IRUSR, sc->debug.debugfs_phy, sc,
&fops_eeprom);

View File

@@ -181,7 +181,7 @@
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -1088,7 +1088,7 @@ int ath9k_init_device(u16 devid, struct
@@ -1090,7 +1090,7 @@ int ath9k_init_device(u16 devid, struct
#ifdef CPTCFG_MAC80211_LEDS
/* must be initialized before ieee80211_register_hw */
@@ -254,7 +254,7 @@
int ath9k_init_debug(struct ath_hw *ah)
{
@@ -1530,6 +1585,10 @@ int ath9k_init_debug(struct ath_hw *ah)
@@ -1528,6 +1583,10 @@ int ath9k_init_debug(struct ath_hw *ah)
&fops_eeprom);
debugfs_create_file("chanbw", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy,
sc, &fops_chanbw);

View File

@@ -51,7 +51,7 @@
int ath9k_init_debug(struct ath_hw *ah)
{
struct ath_common *common = ath9k_hw_common(ah);
@@ -1589,6 +1633,8 @@ int ath9k_init_debug(struct ath_hw *ah)
@@ -1587,6 +1631,8 @@ int ath9k_init_debug(struct ath_hw *ah)
debugfs_create_file("gpio_led", S_IWUSR,
sc->debug.debugfs_phy, sc, &fops_gpio_led);
#endif

View File

@@ -55,7 +55,7 @@
ops->spectral_scan_config = ar9003_hw_spectral_scan_config;
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -870,7 +870,8 @@ static void ath9k_init_txpower_limits(st
@@ -872,7 +872,8 @@ static void ath9k_init_txpower_limits(st
if (ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ)
ath9k_init_band_txpower(sc, NL80211_BAND_5GHZ);
@@ -65,7 +65,7 @@
}
static const struct ieee80211_iface_limit if_limits[] = {
@@ -1048,6 +1049,18 @@ static void ath9k_set_hw_capab(struct at
@@ -1050,6 +1051,18 @@ static void ath9k_set_hw_capab(struct at
wiphy_ext_feature_set(hw->wiphy, NL80211_EXT_FEATURE_CAN_REPLACE_PTK0);
}
@@ -84,7 +84,7 @@
int ath9k_init_device(u16 devid, struct ath_softc *sc,
const struct ath_bus_ops *bus_ops)
{
@@ -1095,6 +1108,8 @@ int ath9k_init_device(u16 devid, struct
@@ -1097,6 +1110,8 @@ int ath9k_init_device(u16 devid, struct
wiphy_read_of_freq_limits(hw->wiphy);

View File

@@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -696,6 +696,12 @@ static int ath9k_of_init(struct ath_soft
@@ -698,6 +698,12 @@ static int ath9k_of_init(struct ath_soft
return 0;
}
@@ -13,7 +13,7 @@
static int ath9k_init_softc(u16 devid, struct ath_softc *sc,
const struct ath_bus_ops *bus_ops)
{
@@ -803,6 +809,9 @@ static int ath9k_init_softc(u16 devid, s
@@ -805,6 +811,9 @@ static int ath9k_init_softc(u16 devid, s
if (ret)
goto err_hw;

View File

@@ -49,9 +49,9 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type,
struct brcmf_mp_device *settings)
{
@@ -106,6 +136,8 @@ void brcmf_of_probe(struct device *dev,
of_node_put(root);
@@ -105,6 +135,8 @@ void brcmf_of_probe(struct device *dev,
}
of_node_put(root);
+ brcmf_of_probe_cc(dev, settings);
+

View File

@@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
#include "of.h"
static int brcmf_of_get_country_codes(struct device *dev,
@@ -168,3 +169,38 @@ void brcmf_of_probe(struct device *dev,
@@ -167,3 +168,38 @@ void brcmf_of_probe(struct device *dev,
sdio->oob_irq_nr = irq;
sdio->oob_irq_flags = irqf;
}

View File

@@ -6,5 +6,5 @@
depends on m
- select CFG80211_WEXT
depends on CRYPTO
depends on CRYPTO_LIB_AES
select BPAUTO_CRYPTO_LIB_ARC4
help

View File

@@ -0,0 +1,121 @@
From 8dc94a59cfad70ec3a808add56718255eee39ab2 Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Sat, 29 Mar 2025 12:50:55 +0100
Subject: [PATCH] backports: handle genlmsg_multicast_allns upstream backport
changes
Better handle genlmsg_multicast_allns upstream backport changes that
dropped a flag to the function middle version. Use a backport function
if backports project is tried to be built on older kernel version.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
backport-include/net/genetlink.h | 11 +++++
compat/Makefile | 3 +-
compat/backport-genetlink.c | 60 +++++++++++++++++++++++
3 files changed, 73 insertions(+), 1 deletion(-)
--- a/backport-include/net/genetlink.h
+++ b/backport-include/net/genetlink.h
@@ -192,4 +192,15 @@ int backport_genlmsg_multicast_allns(con
#define genlmsg_multicast_allns LINUX_BACKPORT(genlmsg_multicast_allns)
#endif /* LINUX_VERSION_IS_LESS(5,2,0) */
+#if LINUX_VERSION_IN_RANGE(5,15,0,5,15,169) || \
+ LINUX_VERSION_IN_RANGE(6,1,0,6,1,115) || \
+ LINUX_VERSION_IN_RANGE(6,6,0,6,6,58)
+#define genlmsg_multicast_allns LINUX_BACKPORT(genlmsg_multicast_allns)
+int backport_genlmsg_multicast_allns(const struct genl_family *family,
+ struct sk_buff *skb, u32 portid,
+ unsigned int group);
+#endif /* LINUX_VERSION_IN_RANGE(5,15,0,5,15,169) ||
+ LINUX_VERSION_IN_RANGE(6,1,0,6,1,115) ||
+ LINUX_VERSION_IN_RANGE(6,6,0,6,6,58) */
+
#endif /* __BACKPORT_NET_GENETLINK_H */
--- a/compat/Makefile
+++ b/compat/Makefile
@@ -16,7 +16,8 @@ compat-$(CPTCFG_KERNEL_5_9) += backport-
compat-$(CPTCFG_KERNEL_5_10) += backport-5.10.o
compat-$(CPTCFG_KERNEL_5_11) += backport-5.11.o
compat-$(CPTCFG_KERNEL_5_13) += backport-5.13.o
-compat-$(CPTCFG_KERNEL_5_15) += backport-5.15.o
+compat-$(CPTCFG_KERNEL_5_15) += backport-5.15.o backport-genetlink.o
+compat-$(CPTCFG_KERNEL_6_1) += backport-genetlink.o
compat-$(CPTCFG_KERNEL_6_4) += backport-6.4.o
compat-$(CPTCFG_BPAUTO_BUILD_CRYPTO_LIB_ARC4) += lib-crypto-arc4.o
--- a/compat/backport-genetlink.c
+++ b/compat/backport-genetlink.c
@@ -17,6 +17,7 @@
#include <net/netlink.h>
#include <net/sock.h>
+#if LINUX_VERSION_IS_LESS(5,2,0)
static const struct genl_family *find_family_real_ops(const struct genl_ops **ops)
{
const struct genl_family *family;
@@ -249,3 +250,63 @@ int backport_genlmsg_multicast_allns(con
return genlmsg_mcast(skb, portid, group);
}
EXPORT_SYMBOL_GPL(backport_genlmsg_multicast_allns);
+#endif /* LINUX_VERSION_IS_LESS(5,2,0) */
+
+#if LINUX_VERSION_IN_RANGE(5,15,0,5,15,169) || \
+ LINUX_VERSION_IN_RANGE(6,1,0,6,1,115) || \
+ LINUX_VERSION_IN_RANGE(6,6,0,6,6,58)
+static int genlmsg_mcast(struct sk_buff *skb, u32 portid, unsigned long group)
+{
+ struct sk_buff *tmp;
+ struct net *net, *prev = NULL;
+ bool delivered = false;
+ int err;
+
+ rcu_read_lock();
+ for_each_net_rcu(net) {
+ if (prev) {
+ tmp = skb_clone(skb, GFP_ATOMIC);
+ if (!tmp) {
+ err = -ENOMEM;
+ goto error;
+ }
+ err = nlmsg_multicast(prev->genl_sock, tmp,
+ portid, group, GFP_ATOMIC);
+ if (!err)
+ delivered = true;
+ else if (err != -ESRCH)
+ goto error;
+ }
+
+ prev = net;
+ }
+ err = nlmsg_multicast(prev->genl_sock, skb, portid, group, GFP_ATOMIC);
+
+ rcu_read_unlock();
+
+ if (!err)
+ delivered = true;
+ else if (err != -ESRCH)
+ return err;
+ return delivered ? 0 : -ESRCH;
+ error:
+ rcu_read_unlock();
+
+ kfree_skb(skb);
+ return err;
+}
+
+int backport_genlmsg_multicast_allns(const struct genl_family *family,
+ struct sk_buff *skb, u32 portid,
+ unsigned int group)
+{
+ if (WARN_ON_ONCE(group >= family->n_mcgrps))
+ return -EINVAL;
+
+ group = family->mcgrp_offset + group;
+ return genlmsg_mcast(skb, portid, group);
+}
+EXPORT_SYMBOL_GPL(backport_genlmsg_multicast_allns);
+#endif /* LINUX_VERSION_IN_RANGE(5,15,0,5,15,169) ||
+ LINUX_VERSION_IN_RANGE(6,1,0,6,1,115) ||
+ LINUX_VERSION_IN_RANGE(6,6,0,6,6,58) */

View File

@@ -8,7 +8,7 @@ Subject: [PATCH] mac80211: allow scans in access point mode (for site survey)
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -2734,6 +2734,8 @@ static int ieee80211_scan(struct wiphy *
@@ -2735,6 +2735,8 @@ static int ieee80211_scan(struct wiphy *
*/
fallthrough;
case NL80211_IFTYPE_AP:

View File

@@ -51,7 +51,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
*
* Drivers can optionally delegate responsibility for scheduling queues to
* mac80211, to take advantage of airtime fairness accounting. In this case, to
@@ -2257,8 +2258,8 @@ struct ieee80211_link_sta {
@@ -2258,8 +2259,8 @@ struct ieee80211_link_sta {
* For non MLO STA it will point to the deflink data. For MLO STA
* ieee80211_sta_recalc_aggregates() must be called to update it.
* @support_p2p_ps: indicates whether the STA supports P2P PS mechanism or not.
@@ -62,7 +62,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* @deflink: This holds the default link STA information, for non MLO STA all link
* specific STA information is accessed through @deflink or through
* link[0] which points to address of @deflink. For MLO Link STA
@@ -5700,7 +5701,7 @@ void ieee80211_key_replay(struct ieee802
@@ -5714,7 +5715,7 @@ void ieee80211_key_replay(struct ieee802
* @hw: pointer as obtained from ieee80211_alloc_hw().
* @queue: queue number (counted from zero).
*
@@ -71,7 +71,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
*/
void ieee80211_wake_queue(struct ieee80211_hw *hw, int queue);
@@ -5709,7 +5710,7 @@ void ieee80211_wake_queue(struct ieee802
@@ -5723,7 +5724,7 @@ void ieee80211_wake_queue(struct ieee802
* @hw: pointer as obtained from ieee80211_alloc_hw().
* @queue: queue number (counted from zero).
*
@@ -80,7 +80,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
*/
void ieee80211_stop_queue(struct ieee80211_hw *hw, int queue);
@@ -5718,7 +5719,7 @@ void ieee80211_stop_queue(struct ieee802
@@ -5732,7 +5733,7 @@ void ieee80211_stop_queue(struct ieee802
* @hw: pointer as obtained from ieee80211_alloc_hw().
* @queue: queue number (counted from zero).
*
@@ -89,7 +89,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
*
* Return: %true if the queue is stopped. %false otherwise.
*/
@@ -5729,7 +5730,7 @@ int ieee80211_queue_stopped(struct ieee8
@@ -5743,7 +5744,7 @@ int ieee80211_queue_stopped(struct ieee8
* ieee80211_stop_queues - stop all queues
* @hw: pointer as obtained from ieee80211_alloc_hw().
*
@@ -98,7 +98,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
*/
void ieee80211_stop_queues(struct ieee80211_hw *hw);
@@ -5737,7 +5738,7 @@ void ieee80211_stop_queues(struct ieee80
@@ -5751,7 +5752,7 @@ void ieee80211_stop_queues(struct ieee80
* ieee80211_wake_queues - wake all queues
* @hw: pointer as obtained from ieee80211_alloc_hw().
*
@@ -107,7 +107,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
*/
void ieee80211_wake_queues(struct ieee80211_hw *hw);
@@ -6960,6 +6961,18 @@ static inline struct sk_buff *ieee80211_
@@ -6974,6 +6975,18 @@ static inline struct sk_buff *ieee80211_
}
/**

View File

@@ -36,7 +36,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
.remove_interface = ar5523_remove_interface,
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -8599,6 +8599,7 @@ err_fallback:
@@ -8601,6 +8601,7 @@ err_fallback:
static const struct ieee80211_ops ath11k_ops = {
.tx = ath11k_mac_op_tx,
@@ -166,7 +166,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
.add_interface = p54_add_interface,
--- a/drivers/net/wireless/mac80211_hwsim.c
+++ b/drivers/net/wireless/mac80211_hwsim.c
@@ -3109,6 +3109,7 @@ static int mac80211_hwsim_change_sta_lin
@@ -3114,6 +3114,7 @@ static int mac80211_hwsim_change_sta_lin
#define HWSIM_COMMON_OPS \
.tx = mac80211_hwsim_tx, \
@@ -306,7 +306,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
.add_interface = rtl8187_add_interface,
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -6546,6 +6546,7 @@ static void rtl8xxxu_stop(struct ieee802
@@ -6553,6 +6553,7 @@ static void rtl8xxxu_stop(struct ieee802
static const struct ieee80211_ops rtl8xxxu_ops = {
.tx = rtl8xxxu_tx,
@@ -336,7 +336,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
.stop = rtw_ops_stop,
--- a/drivers/net/wireless/realtek/rtw89/mac80211.c
+++ b/drivers/net/wireless/realtek/rtw89/mac80211.c
@@ -916,6 +916,7 @@ static int rtw89_ops_set_tid_config(stru
@@ -918,6 +918,7 @@ static int rtw89_ops_set_tid_config(stru
const struct ieee80211_ops rtw89_ops = {
.tx = rtw89_ops_tx,

View File

@@ -11,7 +11,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -4359,9 +4359,6 @@ static int ieee80211_get_txq_stats(struc
@@ -4361,9 +4361,6 @@ static int ieee80211_get_txq_stats(struc
struct ieee80211_sub_if_data *sdata;
int ret = 0;
@@ -63,7 +63,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
NL80211_EXT_FEATURE_AQL))
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -2301,7 +2301,6 @@ void ieee80211_wake_queue_by_reason(stru
@@ -2299,7 +2299,6 @@ void ieee80211_wake_queue_by_reason(stru
void ieee80211_stop_queue_by_reason(struct ieee80211_hw *hw, int queue,
enum queue_stop_reason reason,
bool refcounted);
@@ -73,7 +73,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
void ieee80211_add_pending_skbs(struct ieee80211_local *local,
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -481,12 +481,6 @@ static void ieee80211_do_stop(struct iee
@@ -482,12 +482,6 @@ static void ieee80211_do_stop(struct iee
if (cancel_scan)
ieee80211_scan_cancel(local);
@@ -86,7 +86,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
ieee80211_roc_purge(local, sdata);
switch (sdata->vif.type) {
@@ -834,25 +828,6 @@ static void ieee80211_uninit(struct net_
@@ -852,25 +846,6 @@ static void ieee80211_uninit(struct net_
ieee80211_teardown_sdata(IEEE80211_DEV_TO_SUB_IF(dev));
}
@@ -112,7 +112,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
static void
ieee80211_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats)
{
@@ -866,7 +841,6 @@ static const struct net_device_ops ieee8
@@ -884,7 +859,6 @@ static const struct net_device_ops ieee8
.ndo_start_xmit = ieee80211_subif_start_xmit,
.ndo_set_rx_mode = ieee80211_set_multicast_list,
.ndo_set_mac_address = ieee80211_change_mac,
@@ -120,7 +120,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
.ndo_get_stats64 = ieee80211_get_stats64,
};
@@ -988,7 +962,6 @@ static const struct net_device_ops ieee8
@@ -1006,7 +980,6 @@ static const struct net_device_ops ieee8
.ndo_start_xmit = ieee80211_subif_start_xmit_8023,
.ndo_set_rx_mode = ieee80211_set_multicast_list,
.ndo_set_mac_address = ieee80211_change_mac,
@@ -128,7 +128,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
.ndo_get_stats64 = ieee80211_get_stats64,
#if LINUX_VERSION_IS_GEQ(5,13,0)
.ndo_fill_forward_path = ieee80211_netdev_fill_forward_path,
@@ -1492,35 +1465,6 @@ int ieee80211_do_open(struct wireless_de
@@ -1510,35 +1483,6 @@ int ieee80211_do_open(struct wireless_de
ieee80211_recalc_ps(local);
@@ -164,7 +164,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
set_bit(SDATA_STATE_RUNNING, &sdata->state);
return 0;
@@ -1550,17 +1494,12 @@ static void ieee80211_if_setup(struct ne
@@ -1568,17 +1512,12 @@ static void ieee80211_if_setup(struct ne
{
ether_setup(dev);
dev->priv_flags &= ~IFF_TX_SKB_SHARING;
@@ -183,7 +183,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
static void ieee80211_iface_process_skb(struct ieee80211_local *local,
struct ieee80211_sub_if_data *sdata,
struct sk_buff *skb)
@@ -2145,9 +2084,7 @@ int ieee80211_if_add(struct ieee80211_lo
@@ -2163,9 +2102,7 @@ int ieee80211_if_add(struct ieee80211_lo
struct net_device *ndev = NULL;
struct ieee80211_sub_if_data *sdata = NULL;
struct txq_info *txqi;
@@ -193,7 +193,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
ASSERT_RTNL();
@@ -2170,30 +2107,18 @@ int ieee80211_if_add(struct ieee80211_lo
@@ -2188,30 +2125,18 @@ int ieee80211_if_add(struct ieee80211_lo
sizeof(void *));
int txq_size = 0;
@@ -228,7 +228,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
ndev->tstats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats);
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -634,7 +634,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
@@ -636,7 +636,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
if (WARN_ON(!ops->tx || !ops->start || !ops->stop || !ops->config ||
!ops->add_interface || !ops->remove_interface ||
@@ -237,7 +237,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
return NULL;
if (WARN_ON(ops->sta_state && (ops->sta_add || ops->sta_remove)))
@@ -723,9 +723,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
@@ -725,9 +725,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
if (!ops->set_key)
wiphy->flags |= WIPHY_FLAG_IBSS_RSN;
@@ -248,7 +248,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_RRM);
wiphy->bss_priv_size = sizeof(struct ieee80211_bss);
@@ -838,10 +836,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
@@ -840,10 +838,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
atomic_set(&local->agg_queue_stop[i], 0);
}
tasklet_setup(&local->tx_pending_tasklet, ieee80211_tx_pending);
@@ -466,7 +466,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
}
spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags);
@@ -5970,10 +5951,9 @@ int ieee80211_tx_control_port(struct wip
@@ -5972,10 +5953,9 @@ int ieee80211_tx_control_port(struct wip
}
if (!IS_ERR(sta)) {

View File

@@ -22,7 +22,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
.stop = rtw_ops_stop,
--- a/drivers/net/wireless/realtek/rtw89/mac80211.c
+++ b/drivers/net/wireless/realtek/rtw89/mac80211.c
@@ -916,7 +916,6 @@ static int rtw89_ops_set_tid_config(stru
@@ -918,7 +918,6 @@ static int rtw89_ops_set_tid_config(stru
const struct ieee80211_ops rtw89_ops = {
.tx = rtw89_ops_tx,

View File

@@ -59,7 +59,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
flow = fq_find_fattest_flow(fq);
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1816,6 +1816,10 @@ struct ieee80211_vif_cfg {
@@ -1817,6 +1817,10 @@ struct ieee80211_vif_cfg {
* @addr: address of this interface
* @p2p: indicates whether this AP or STA interface is a p2p
* interface, i.e. a GO or p2p-sta respectively
@@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
* @driver_flags: flags/capabilities the driver has for this interface,
* these need to be set (or cleared) when the interface is added
* or, if supported by the driver, the interface type is changed
@@ -1855,6 +1859,7 @@ struct ieee80211_vif {
@@ -1856,6 +1860,7 @@ struct ieee80211_vif {
struct ieee80211_txq *txq;
@@ -80,7 +80,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -2218,6 +2218,7 @@ int ieee80211_if_add(struct ieee80211_lo
@@ -2236,6 +2236,7 @@ int ieee80211_if_add(struct ieee80211_lo
ndev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
ndev->hw_features |= ndev->features &
MAC80211_SUPPORTED_FEATURES_TX;

View File

@@ -68,7 +68,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
};
#ifdef CPTCFG_MAC80211_MESH
@@ -2009,6 +2024,11 @@ int ieee80211_tx_control_port(struct wip
@@ -2007,6 +2022,11 @@ int ieee80211_tx_control_port(struct wip
int link_id, u64 *cookie);
int ieee80211_probe_mesh_link(struct wiphy *wiphy, struct net_device *dev,
const u8 *buf, size_t len);
@@ -262,7 +262,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static inline
--- a/net/mac80211/mesh_hwmp.c
+++ b/net/mac80211/mesh_hwmp.c
@@ -394,6 +394,7 @@ static u32 hwmp_route_info_get(struct ie
@@ -400,6 +400,7 @@ static u32 hwmp_route_info_get(struct ie
u32 orig_sn, orig_metric;
unsigned long orig_lifetime, exp_time;
u32 last_hop_metric, new_metric;
@@ -270,7 +270,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
bool process = true;
u8 hopcount;
@@ -491,8 +492,10 @@ static u32 hwmp_route_info_get(struct ie
@@ -497,8 +498,10 @@ static u32 hwmp_route_info_get(struct ie
}
if (fresh_info) {
@@ -282,7 +282,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
mesh_path_assign_nexthop(mpath, sta);
mpath->flags |= MESH_PATH_SN_VALID;
mpath->metric = new_metric;
@@ -502,6 +505,8 @@ static u32 hwmp_route_info_get(struct ie
@@ -508,6 +511,8 @@ static u32 hwmp_route_info_get(struct ie
mpath->hop_count = hopcount;
mesh_path_activate(mpath);
spin_unlock_bh(&mpath->state_lock);
@@ -291,7 +291,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
ewma_mesh_fail_avg_init(&sta->mesh->fail_avg);
/* init it at a low value - 0 start is tricky */
ewma_mesh_fail_avg_add(&sta->mesh->fail_avg, 1);
@@ -539,8 +544,10 @@ static u32 hwmp_route_info_get(struct ie
@@ -545,8 +550,10 @@ static u32 hwmp_route_info_get(struct ie
}
if (fresh_info) {
@@ -303,7 +303,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
mesh_path_assign_nexthop(mpath, sta);
mpath->metric = last_hop_metric;
mpath->exp_time = time_after(mpath->exp_time, exp_time)
@@ -548,6 +555,8 @@ static u32 hwmp_route_info_get(struct ie
@@ -554,6 +561,8 @@ static u32 hwmp_route_info_get(struct ie
mpath->hop_count = 1;
mesh_path_activate(mpath);
spin_unlock_bh(&mpath->state_lock);
@@ -312,7 +312,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
ewma_mesh_fail_avg_init(&sta->mesh->fail_avg);
/* init it at a low value - 0 start is tricky */
ewma_mesh_fail_avg_add(&sta->mesh->fail_avg, 1);
@@ -1215,6 +1224,20 @@ static int mesh_nexthop_lookup_nolearn(s
@@ -1223,6 +1232,20 @@ static int mesh_nexthop_lookup_nolearn(s
return 0;
}
@@ -333,7 +333,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/**
* mesh_nexthop_lookup - put the appropriate next hop on a mesh frame. Calling
* this function is considered "using" the associated mpath, so preempt a path
@@ -1242,19 +1265,15 @@ int mesh_nexthop_lookup(struct ieee80211
@@ -1250,19 +1273,15 @@ int mesh_nexthop_lookup(struct ieee80211
if (!mpath || !(mpath->flags & MESH_PATH_ACTIVE))
return -ENOENT;

View File

@@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
rx_accept:
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -2029,6 +2029,8 @@ void __ieee80211_xmit_fast(struct ieee80
@@ -2027,6 +2027,8 @@ void __ieee80211_xmit_fast(struct ieee80
struct ieee80211_fast_tx *fast_tx,
struct sk_buff *skb, bool ampdu,
const u8 *da, const u8 *sa);

View File

@@ -13,7 +13,7 @@ Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -5977,6 +5977,18 @@ void ieee80211_queue_delayed_work(struct
@@ -5991,6 +5991,18 @@ void ieee80211_queue_delayed_work(struct
unsigned long delay);
/**

View File

@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -4580,6 +4580,12 @@ void ieee80211_check_fast_rx(struct sta_
@@ -4584,6 +4584,12 @@ void ieee80211_check_fast_rx(struct sta_
}
break;
@@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
default:
goto clear;
}
@@ -4788,6 +4794,7 @@ static bool ieee80211_invoke_fast_rx(str
@@ -4792,6 +4798,7 @@ static bool ieee80211_invoke_fast_rx(str
struct sk_buff *skb = rx->skb;
struct ieee80211_hdr *hdr = (void *)skb->data;
struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
@@ -31,7 +31,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
int orig_len = skb->len;
int hdrlen = ieee80211_hdrlen(hdr->frame_control);
int snap_offs = hdrlen;
@@ -4849,7 +4856,8 @@ static bool ieee80211_invoke_fast_rx(str
@@ -4853,7 +4860,8 @@ static bool ieee80211_invoke_fast_rx(str
snap_offs += IEEE80211_CCMP_HDR_LEN;
}
@@ -41,7 +41,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!pskb_may_pull(skb, snap_offs + sizeof(*payload)))
return false;
@@ -4888,13 +4896,29 @@ static bool ieee80211_invoke_fast_rx(str
@@ -4892,13 +4900,29 @@ static bool ieee80211_invoke_fast_rx(str
/* do the header conversion - first grab the addresses */
ether_addr_copy(addrs.da, skb->data + fast_rx->da_offs);
ether_addr_copy(addrs.sa, skb->data + fast_rx->sa_offs);

View File

@@ -12,7 +12,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -4201,6 +4201,10 @@ struct ieee80211_prep_tx_info {
@@ -4215,6 +4215,10 @@ struct ieee80211_prep_tx_info {
* Note that a sta can also be inserted or removed with valid links,
* i.e. passed to @sta_add/@sta_state with sta->valid_links not zero.
* In fact, cannot change from having valid_links and not having them.
@@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
*/
struct ieee80211_ops {
void (*tx)(struct ieee80211_hw *hw,
@@ -4556,6 +4560,11 @@ struct ieee80211_ops {
@@ -4570,6 +4574,11 @@ struct ieee80211_ops {
struct ieee80211_vif *vif,
struct ieee80211_sta *sta,
u16 old_links, u16 new_links);
@@ -75,7 +75,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
MAC80211_SUPPORTED_FEATURES_RX)
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -834,6 +834,21 @@ ieee80211_get_stats64(struct net_device
@@ -852,6 +852,21 @@ ieee80211_get_stats64(struct net_device
dev_fetch_sw_netstats(stats, dev->tstats);
}
@@ -97,7 +97,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
static const struct net_device_ops ieee80211_dataif_ops = {
.ndo_open = ieee80211_open,
.ndo_stop = ieee80211_stop,
@@ -842,6 +857,7 @@ static const struct net_device_ops ieee8
@@ -860,6 +875,7 @@ static const struct net_device_ops ieee8
.ndo_set_rx_mode = ieee80211_set_multicast_list,
.ndo_set_mac_address = ieee80211_change_mac,
.ndo_get_stats64 = ieee80211_get_stats64,
@@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
};
#if LINUX_VERSION_IS_GEQ(5,2,0)
@@ -966,6 +982,7 @@ static const struct net_device_ops ieee8
@@ -984,6 +1000,7 @@ static const struct net_device_ops ieee8
#if LINUX_VERSION_IS_GEQ(5,13,0)
.ndo_fill_forward_path = ieee80211_netdev_fill_forward_path,
#endif

View File

@@ -12,7 +12,7 @@ Reviewed-by: Greenman, Gregory <gregory.greenman@intel.com>
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
@@ -4844,9 +4844,6 @@ static void iwl_mvm_mac_flush(struct iee
@@ -4848,9 +4848,6 @@ static void iwl_mvm_mac_flush(struct iee
return;
}
@@ -22,7 +22,7 @@ Reviewed-by: Greenman, Gregory <gregory.greenman@intel.com>
/* Make sure we're done with the deferred traffic before flushing */
flush_work(&mvm->add_stream_wk);
@@ -4864,9 +4861,6 @@ static void iwl_mvm_mac_flush(struct iee
@@ -4868,9 +4865,6 @@ static void iwl_mvm_mac_flush(struct iee
if (mvmsta->vif != vif)
continue;

View File

@@ -12,7 +12,7 @@ Reviewed-by: Greenman, Gregory <gregory.greenman@intel.com>
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -3927,6 +3927,10 @@ struct ieee80211_prep_tx_info {
@@ -3941,6 +3941,10 @@ struct ieee80211_prep_tx_info {
* Note that vif can be NULL.
* The callback can sleep.
*
@@ -23,7 +23,7 @@ Reviewed-by: Greenman, Gregory <gregory.greenman@intel.com>
* @channel_switch: Drivers that need (or want) to offload the channel
* switch operation for CSAs received from the AP may implement this
* callback. They must then call ieee80211_chswitch_done() to indicate
@@ -4381,6 +4385,8 @@ struct ieee80211_ops {
@@ -4395,6 +4399,8 @@ struct ieee80211_ops {
#endif
void (*flush)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
u32 queues, bool drop);

View File

@@ -11,7 +11,7 @@ Reviewed-by: Greenman, Gregory <gregory.greenman@intel.com>
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
@@ -4880,6 +4880,31 @@ static void iwl_mvm_mac_flush(struct iee
@@ -4887,6 +4887,31 @@ static void iwl_mvm_mac_flush(struct iee
iwl_trans_wait_tx_queues_empty(mvm->trans, msk);
}
@@ -43,7 +43,7 @@ Reviewed-by: Greenman, Gregory <gregory.greenman@intel.com>
static int iwl_mvm_mac_get_survey(struct ieee80211_hw *hw, int idx,
struct survey_info *survey)
{
@@ -5407,6 +5432,7 @@ const struct ieee80211_ops iwl_mvm_hw_op
@@ -5414,6 +5439,7 @@ const struct ieee80211_ops iwl_mvm_hw_op
.mgd_complete_tx = iwl_mvm_mac_mgd_complete_tx,
.mgd_protect_tdls_discover = iwl_mvm_mac_mgd_protect_tdls_discover,
.flush = iwl_mvm_mac_flush,

View File

@@ -38,7 +38,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -5265,6 +5265,74 @@ ieee80211_beacon_get_template(struct iee
@@ -5279,6 +5279,74 @@ ieee80211_beacon_get_template(struct iee
unsigned int link_id);
/**
@@ -129,7 +129,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
}
new = kzalloc(size, GFP_KERNEL);
@@ -3396,8 +3396,11 @@ cfg80211_beacon_dup(struct cfg80211_beac
@@ -3398,8 +3398,11 @@ cfg80211_beacon_dup(struct cfg80211_beac
len = beacon->head_len + beacon->tail_len + beacon->beacon_ies_len +
beacon->proberesp_ies_len + beacon->assocresp_ies_len +
@@ -222,7 +222,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
offs->mbssid_off = skb->len - mbssid_len;
}
@@ -5288,12 +5298,51 @@ ieee80211_beacon_get_ap(struct ieee80211
@@ -5290,12 +5300,51 @@ ieee80211_beacon_get_ap(struct ieee80211
return skb;
}
@@ -275,7 +275,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
{
struct ieee80211_local *local = hw_to_local(hw);
struct beacon_data *beacon = NULL;
@@ -5322,8 +5371,29 @@ __ieee80211_beacon_get(struct ieee80211_
@@ -5324,8 +5373,29 @@ __ieee80211_beacon_get(struct ieee80211_
if (!beacon)
goto out;
@@ -307,7 +307,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
} else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) {
struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
struct ieee80211_hdr *hdr;
@@ -5411,10 +5481,50 @@ ieee80211_beacon_get_template(struct iee
@@ -5413,10 +5483,50 @@ ieee80211_beacon_get_template(struct iee
struct ieee80211_mutable_offsets *offs,
unsigned int link_id)
{
@@ -359,7 +359,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
struct sk_buff *ieee80211_beacon_get_tim(struct ieee80211_hw *hw,
struct ieee80211_vif *vif,
u16 *tim_offset, u16 *tim_length,
@@ -5422,7 +5532,9 @@ struct sk_buff *ieee80211_beacon_get_tim
@@ -5424,7 +5534,9 @@ struct sk_buff *ieee80211_beacon_get_tim
{
struct ieee80211_mutable_offsets offs = {};
struct sk_buff *bcn = __ieee80211_beacon_get(hw, vif, &offs, false,

View File

@@ -113,7 +113,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
{
--- a/net/wireless/core.h
+++ b/net/wireless/core.h
@@ -497,6 +497,8 @@ void cfg80211_set_dfs_state(struct wiphy
@@ -491,6 +491,8 @@ void cfg80211_set_dfs_state(struct wiphy
enum nl80211_dfs_state dfs_state);
void cfg80211_dfs_channels_update_work(struct work_struct *work);

View File

@@ -76,7 +76,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
--- a/net/wireless/core.h
+++ b/net/wireless/core.h
@@ -283,6 +283,8 @@ struct cfg80211_event {
@@ -277,6 +277,8 @@ struct cfg80211_event {
} ij;
struct {
u8 bssid[ETH_ALEN];
@@ -85,7 +85,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
} pa;
};
};
@@ -427,7 +429,8 @@ int cfg80211_disconnect(struct cfg80211_
@@ -421,7 +423,8 @@ int cfg80211_disconnect(struct cfg80211_
bool wextev);
void __cfg80211_roamed(struct wireless_dev *wdev,
struct cfg80211_roam_info *info);
@@ -97,7 +97,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
void cfg80211_autodisconnect_wk(struct work_struct *work);
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -18024,7 +18024,8 @@ void nl80211_send_roamed(struct cfg80211
@@ -18041,7 +18041,8 @@ void nl80211_send_roamed(struct cfg80211
}
void nl80211_send_port_authorized(struct cfg80211_registered_device *rdev,
@@ -107,7 +107,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
{
struct sk_buff *msg;
void *hdr;
@@ -18044,6 +18045,11 @@ void nl80211_send_port_authorized(struct
@@ -18061,6 +18062,11 @@ void nl80211_send_port_authorized(struct
nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN, bssid))
goto nla_put_failure;
@@ -133,7 +133,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
const u8 *ie, size_t ie_len, bool from_ap);
--- a/net/wireless/sme.c
+++ b/net/wireless/sme.c
@@ -1266,7 +1266,8 @@ out:
@@ -1267,7 +1267,8 @@ out:
}
EXPORT_SYMBOL(cfg80211_roamed);
@@ -143,7 +143,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
{
ASSERT_WDEV_LOCK(wdev);
@@ -1279,11 +1280,11 @@ void __cfg80211_port_authorized(struct w
@@ -1280,11 +1281,11 @@ void __cfg80211_port_authorized(struct w
return;
nl80211_send_port_authorized(wiphy_to_rdev(wdev->wiphy), wdev->netdev,
@@ -157,7 +157,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
{
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
@@ -1293,12 +1294,15 @@ void cfg80211_port_authorized(struct net
@@ -1294,12 +1295,15 @@ void cfg80211_port_authorized(struct net
if (WARN_ON(!bssid))
return;

View File

@@ -18,7 +18,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1477,6 +1477,7 @@ enum mac80211_rx_encoding {
@@ -1478,6 +1478,7 @@ enum mac80211_rx_encoding {
RX_ENC_HT,
RX_ENC_VHT,
RX_ENC_HE,
@@ -26,7 +26,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
};
/**
@@ -1510,7 +1511,7 @@ enum mac80211_rx_encoding {
@@ -1511,7 +1512,7 @@ enum mac80211_rx_encoding {
* @antenna: antenna used
* @rate_idx: index of data rate into band's supported rates or MCS index if
* HT or VHT is used (%RX_FLAG_HT/%RX_FLAG_VHT)
@@ -35,7 +35,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* @flag: %RX_FLAG_\*
* @encoding: &enum mac80211_rx_encoding
* @bw: &enum rate_info_bw
@@ -1518,6 +1519,8 @@ enum mac80211_rx_encoding {
@@ -1519,6 +1520,8 @@ enum mac80211_rx_encoding {
* @he_ru: HE RU, from &enum nl80211_he_ru_alloc
* @he_gi: HE GI, from &enum nl80211_he_gi
* @he_dcm: HE DCM value
@@ -44,7 +44,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* @rx_flags: internal RX flags for mac80211
* @ampdu_reference: A-MPDU reference number, must be a different value for
* each A-MPDU but the same for each subframe within one A-MPDU
@@ -1539,8 +1542,18 @@ struct ieee80211_rx_status {
@@ -1540,8 +1543,18 @@ struct ieee80211_rx_status {
u32 flag;
u16 freq: 13, freq_offset: 1;
u8 enc_flags;
@@ -67,7 +67,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
u8 rx_flags;
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -5358,6 +5358,15 @@ void ieee80211_rx_list(struct ieee80211_
@@ -5362,6 +5362,15 @@ void ieee80211_rx_list(struct ieee80211_
status->rate_idx, status->nss))
goto drop;
break;
@@ -157,7 +157,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
return STA_STATS_RATE_INVALID;
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -3902,6 +3902,19 @@ u64 ieee80211_calculate_rx_timestamp(str
@@ -3905,6 +3905,19 @@ u64 ieee80211_calculate_rx_timestamp(str
/* Fill cfg80211 rate info */
switch (status->encoding) {

View File

@@ -62,7 +62,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
bool mu_mimo_owner;
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -4197,7 +4197,7 @@ static int ieee80211_set_ap_chanwidth(st
@@ -4199,7 +4199,7 @@ static int ieee80211_set_ap_chanwidth(st
struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
struct ieee80211_link_data *link;
int ret;
@@ -84,7 +84,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
struct ieee80211_bss_conf *link_conf = link->conf;
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -2499,7 +2499,7 @@ int ieee80211_link_unreserve_chanctx(str
@@ -2497,7 +2497,7 @@ int ieee80211_link_unreserve_chanctx(str
int __must_check
ieee80211_link_change_bandwidth(struct ieee80211_link_data *link,
const struct cfg80211_chan_def *chandef,
@@ -255,7 +255,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
{
struct ieee80211_sub_if_data *sdata = link->sdata;
struct ieee80211_local *local = sdata->local;
@@ -4140,6 +4275,7 @@ static bool ieee80211_assoc_config_link(
@@ -4141,6 +4276,7 @@ static bool ieee80211_assoc_config_link(
link_sta);
bss_conf->eht_support = link_sta->pub->eht_cap.has_eht;
@@ -263,7 +263,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
} else {
bss_conf->eht_support = false;
}
@@ -5452,6 +5588,45 @@ static bool ieee80211_rx_our_beacon(cons
@@ -5453,6 +5589,45 @@ static bool ieee80211_rx_our_beacon(cons
return ether_addr_equal(tx_bssid, bss->transmitted_bss->bssid);
}
@@ -309,7 +309,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
static void ieee80211_rx_mgmt_beacon(struct ieee80211_link_data *link,
struct ieee80211_hdr *hdr, size_t len,
struct ieee80211_rx_status *rx_status)
@@ -5468,7 +5643,7 @@ static void ieee80211_rx_mgmt_beacon(str
@@ -5469,7 +5644,7 @@ static void ieee80211_rx_mgmt_beacon(str
struct ieee80211_channel *chan;
struct link_sta_info *link_sta;
struct sta_info *sta;
@@ -318,7 +318,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
bool erp_valid;
u8 erp_value = 0;
u32 ncrc = 0;
@@ -5761,6 +5936,21 @@ static void ieee80211_rx_mgmt_beacon(str
@@ -5762,6 +5937,21 @@ static void ieee80211_rx_mgmt_beacon(str
elems->pwr_constr_elem,
elems->cisco_dtpc_elem);
@@ -340,7 +340,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
ieee80211_link_info_change_notify(sdata, link, changed);
free:
kfree(elems);
@@ -6862,9 +7052,12 @@ ieee80211_setup_assoc_link(struct ieee80
@@ -6863,9 +7053,12 @@ ieee80211_setup_assoc_link(struct ieee80
ieee80211_apply_htcap_overrides(sdata, &sta_ht_cap);
}
@@ -353,7 +353,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
const struct element *elem;
u8 dtim_count = 0;
@@ -6893,6 +7086,31 @@ ieee80211_setup_assoc_link(struct ieee80
@@ -6894,6 +7087,31 @@ ieee80211_setup_assoc_link(struct ieee80
link->conf->ema_ap = true;
else
link->conf->ema_ap = false;

View File

@@ -120,7 +120,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
break;
link->u.mgd.conn_flags |=
ieee80211_chandef_downgrade(chandef);
@@ -5613,8 +5552,8 @@ static bool ieee80211_config_puncturing(
@@ -5614,8 +5553,8 @@ static bool ieee80211_config_puncturing(
extracted == link->conf->eht_puncturing)
return true;
@@ -131,7 +131,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
link_info(link,
"Got an invalid disable subchannel bitmap from AP %pM: bitmap = 0x%x, bw = 0x%x. disconnect\n",
link->u.mgd.bssid,
@@ -7102,8 +7041,8 @@ ieee80211_setup_assoc_link(struct ieee80
@@ -7103,8 +7042,8 @@ ieee80211_setup_assoc_link(struct ieee80
u16 bitmap;
bitmap = get_unaligned_le16(disable_subchannel_bitmap);

View File

@@ -137,7 +137,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
int nl80211_parse_chandef(struct cfg80211_registered_device *rdev,
struct genl_info *info,
struct cfg80211_chan_def *chandef)
@@ -5969,6 +5985,14 @@ static int nl80211_start_ap(struct sk_bu
@@ -5974,6 +5990,14 @@ static int nl80211_start_ap(struct sk_bu
goto out;
}
@@ -152,7 +152,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
if (!cfg80211_reg_can_beacon_relax(&rdev->wiphy, &params->chandef,
wdev->iftype)) {
err = -EINVAL;
@@ -10107,6 +10131,14 @@ skip_beacons:
@@ -10126,6 +10150,14 @@ skip_beacons:
if (info->attrs[NL80211_ATTR_CH_SWITCH_BLOCK_TX])
params.block_tx = true;

View File

@@ -91,7 +91,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
* ieee80211_operating_class_to_band - convert operating class to band
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -3612,7 +3612,8 @@ static int __ieee80211_csa_finalize(stru
@@ -3614,7 +3614,8 @@ static int __ieee80211_csa_finalize(stru
if (err)
return err;
@@ -101,7 +101,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
return 0;
}
@@ -3884,7 +3885,7 @@ __ieee80211_channel_switch(struct wiphy
@@ -3886,7 +3887,7 @@ __ieee80211_channel_switch(struct wiphy
cfg80211_ch_switch_started_notify(sdata->dev,
&sdata->deflink.csa_chandef, 0,
@@ -132,7 +132,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
/* use driver's channel switch callback */
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -19085,7 +19085,7 @@ static void nl80211_ch_switch_notify(str
@@ -19100,7 +19100,7 @@ static void nl80211_ch_switch_notify(str
struct cfg80211_chan_def *chandef,
gfp_t gfp,
enum nl80211_commands notif,
@@ -141,7 +141,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
{
struct wireless_dev *wdev = netdev->ieee80211_ptr;
struct sk_buff *msg;
@@ -19119,6 +19119,9 @@ static void nl80211_ch_switch_notify(str
@@ -19134,6 +19134,9 @@ static void nl80211_ch_switch_notify(str
goto nla_put_failure;
}
@@ -151,7 +151,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
genlmsg_end(msg, hdr);
genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
@@ -19131,7 +19134,7 @@ static void nl80211_ch_switch_notify(str
@@ -19146,7 +19149,7 @@ static void nl80211_ch_switch_notify(str
void cfg80211_ch_switch_notify(struct net_device *dev,
struct cfg80211_chan_def *chandef,
@@ -160,7 +160,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
{
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct wiphy *wiphy = wdev->wiphy;
@@ -19140,7 +19143,7 @@ void cfg80211_ch_switch_notify(struct ne
@@ -19155,7 +19158,7 @@ void cfg80211_ch_switch_notify(struct ne
ASSERT_WDEV_LOCK(wdev);
WARN_INVALID_LINK_ID(wdev, link_id);
@@ -169,7 +169,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
switch (wdev->iftype) {
case NL80211_IFTYPE_STATION:
@@ -19168,14 +19171,15 @@ void cfg80211_ch_switch_notify(struct ne
@@ -19183,14 +19186,15 @@ void cfg80211_ch_switch_notify(struct ne
cfg80211_sched_dfs_chan_update(rdev);
nl80211_ch_switch_notify(rdev, dev, link_id, chandef, GFP_KERNEL,
@@ -187,7 +187,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
{
struct wireless_dev *wdev = dev->ieee80211_ptr;
struct wiphy *wiphy = wdev->wiphy;
@@ -19184,11 +19188,13 @@ void cfg80211_ch_switch_started_notify(s
@@ -19199,11 +19203,13 @@ void cfg80211_ch_switch_started_notify(s
ASSERT_WDEV_LOCK(wdev);
WARN_INVALID_LINK_ID(wdev, link_id);

View File

@@ -59,7 +59,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
if (sdata->vif.type == NL80211_IFTYPE_AP &&
params->mbssid_config.tx_wdev) {
err = ieee80211_set_ap_mbssid_options(sdata,
@@ -3571,6 +3576,12 @@ static int __ieee80211_csa_finalize(stru
@@ -3573,6 +3578,12 @@ static int __ieee80211_csa_finalize(stru
lockdep_assert_held(&local->mtx);
lockdep_assert_held(&local->chanctx_mtx);
@@ -72,7 +72,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
/*
* using reservation isn't immediate as it may be deferred until later
* with multi-vif. once reservation is complete it will re-schedule the
@@ -3613,7 +3624,7 @@ static int __ieee80211_csa_finalize(stru
@@ -3615,7 +3626,7 @@ static int __ieee80211_csa_finalize(stru
return err;
cfg80211_ch_switch_notify(sdata->dev, &sdata->deflink.csa_chandef, 0,
@@ -81,7 +81,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
return 0;
}
@@ -3875,9 +3886,13 @@ __ieee80211_channel_switch(struct wiphy
@@ -3877,9 +3888,13 @@ __ieee80211_channel_switch(struct wiphy
goto out;
}
@@ -95,7 +95,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
if (sdata->deflink.csa_block_tx)
ieee80211_stop_vif_queues(local, sdata,
@@ -3885,7 +3900,8 @@ __ieee80211_channel_switch(struct wiphy
@@ -3887,7 +3902,8 @@ __ieee80211_channel_switch(struct wiphy
cfg80211_ch_switch_started_notify(sdata->dev,
&sdata->deflink.csa_chandef, 0,

View File

@@ -21,7 +21,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -3239,7 +3239,7 @@ static void ieee80211_mgd_probe_ap(struc
@@ -3240,7 +3240,7 @@ static void ieee80211_mgd_probe_ap(struc
struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
bool already = false;

View File

@@ -17,7 +17,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -2497,21 +2497,55 @@ int ieee80211_reconfig(struct ieee80211_
@@ -2500,21 +2500,55 @@ int ieee80211_reconfig(struct ieee80211_
/* Finally also reconfigure all the BSS information */
list_for_each_entry(sdata, &local->interfaces, list) {
@@ -77,7 +77,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
}
switch (sdata->vif.type) {
@@ -2531,42 +2565,42 @@ int ieee80211_reconfig(struct ieee80211_
@@ -2534,42 +2568,42 @@ int ieee80211_reconfig(struct ieee80211_
&sdata->deflink.tx_conf[i]);
break;
}
@@ -150,7 +150,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
break;
case NL80211_IFTYPE_OCB:
changed |= BSS_CHANGED_OCB;
@@ -2601,6 +2635,7 @@ int ieee80211_reconfig(struct ieee80211_
@@ -2604,6 +2638,7 @@ int ieee80211_reconfig(struct ieee80211_
case NL80211_IFTYPE_NAN:
res = ieee80211_reconfig_nan(sdata);
if (res < 0) {
@@ -158,7 +158,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
ieee80211_handle_reconfig_failure(local);
return res;
}
@@ -2618,6 +2653,10 @@ int ieee80211_reconfig(struct ieee80211_
@@ -2621,6 +2656,10 @@ int ieee80211_reconfig(struct ieee80211_
WARN_ON(1);
break;
}

View File

@@ -53,7 +53,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
int ieee80211_reconfig(struct ieee80211_local *local)
{
struct ieee80211_hw *hw = &local->hw;
@@ -2610,7 +2639,13 @@ int ieee80211_reconfig(struct ieee80211_
@@ -2613,7 +2642,13 @@ int ieee80211_reconfig(struct ieee80211_
changed |= BSS_CHANGED_IBSS;
fallthrough;
case NL80211_IFTYPE_AP:
@@ -68,7 +68,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
if (sdata->vif.bss_conf.ftm_responder == 1 &&
wiphy_ext_feature_isset(sdata->local->hw.wiphy,
@@ -2620,6 +2655,13 @@ int ieee80211_reconfig(struct ieee80211_
@@ -2623,6 +2658,13 @@ int ieee80211_reconfig(struct ieee80211_
if (sdata->vif.type == NL80211_IFTYPE_AP) {
changed |= BSS_CHANGED_AP_PROBE_RESP;

View File

@@ -33,7 +33,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1936,6 +1936,27 @@ struct ieee80211_vif {
@@ -1937,6 +1937,27 @@ struct ieee80211_vif {
u8 drv_priv[] __aligned(sizeof(void *));
};
@@ -132,7 +132,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf);
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -542,7 +542,7 @@ static void ieee80211_do_stop(struct iee
@@ -543,7 +543,7 @@ static void ieee80211_do_stop(struct iee
cancel_work_sync(&sdata->recalc_smps);
sdata_lock(sdata);
@@ -141,7 +141,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
"destroying interface with valid links 0x%04x\n",
sdata->vif.valid_links);
@@ -1855,7 +1855,7 @@ static int ieee80211_runtime_change_ifty
@@ -1873,7 +1873,7 @@ static int ieee80211_runtime_change_ifty
return -EBUSY;
/* for now, don't support changing while links exist */
@@ -217,7 +217,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
ieee80211_recalc_smps(sdata, &sdata->deflink);
ieee80211_recalc_ps_vif(sdata);
@@ -2982,7 +2982,7 @@ static void ieee80211_set_disassoc(struc
@@ -2983,7 +2983,7 @@ static void ieee80211_set_disassoc(struc
sta_info_flush(sdata);
/* finally reset all BSS / config parameters */
@@ -226,7 +226,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
changed |= ieee80211_reset_erp_info(sdata);
ieee80211_led_assoc(local, 0);
@@ -3007,7 +3007,7 @@ static void ieee80211_set_disassoc(struc
@@ -3008,7 +3008,7 @@ static void ieee80211_set_disassoc(struc
sizeof(sdata->vif.bss_conf.mu_group.membership));
memset(sdata->vif.bss_conf.mu_group.position, 0,
sizeof(sdata->vif.bss_conf.mu_group.position));
@@ -235,7 +235,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
changed |= BSS_CHANGED_MU_GROUPS;
sdata->vif.bss_conf.mu_mimo_owner = false;
@@ -3021,7 +3021,7 @@ static void ieee80211_set_disassoc(struc
@@ -3022,7 +3022,7 @@ static void ieee80211_set_disassoc(struc
changed |= BSS_CHANGED_ARP_FILTER;
sdata->vif.bss_conf.qos = false;
@@ -244,7 +244,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
changed |= BSS_CHANGED_QOS;
/* The BSSID (not really interesting) and HT changed */
changed |= BSS_CHANGED_BSSID | BSS_CHANGED_HT;
@@ -3191,7 +3191,7 @@ static void ieee80211_mgd_probe_ap_send(
@@ -3192,7 +3192,7 @@ static void ieee80211_mgd_probe_ap_send(
u8 unicast_limit = max(1, max_probe_tries - 3);
struct sta_info *sta;
@@ -253,7 +253,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
return;
/*
@@ -3239,7 +3239,7 @@ static void ieee80211_mgd_probe_ap(struc
@@ -3240,7 +3240,7 @@ static void ieee80211_mgd_probe_ap(struc
struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
bool already = false;
@@ -262,7 +262,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
return;
if (!ieee80211_sdata_running(sdata))
@@ -3314,7 +3314,7 @@ struct sk_buff *ieee80211_ap_probereq_ge
@@ -3315,7 +3315,7 @@ struct sk_buff *ieee80211_ap_probereq_ge
int ssid_len;
if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_STATION ||
@@ -271,7 +271,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
return NULL;
sdata_assert_lock(sdata);
@@ -3379,7 +3379,8 @@ static void __ieee80211_disconnect(struc
@@ -3380,7 +3380,8 @@ static void __ieee80211_disconnect(struc
}
/* in MLO assume we have a link where we can TX the frame */
@@ -281,7 +281,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
if (!ifmgd->driver_disconnect) {
unsigned int link_id;
@@ -3578,7 +3579,7 @@ static void ieee80211_destroy_assoc_data
@@ -3579,7 +3580,7 @@ static void ieee80211_destroy_assoc_data
for (i = 0; i < ARRAY_SIZE(data.bss); i++)
data.bss[i] = assoc_data->link[i].bss;
@@ -290,7 +290,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
data.ap_mld_addr = assoc_data->ap_addr;
cfg80211_assoc_failure(sdata->dev, &data);
@@ -4979,7 +4980,7 @@ static bool ieee80211_assoc_success(stru
@@ -4980,7 +4981,7 @@ static bool ieee80211_assoc_success(stru
if (WARN_ON(!sta))
goto out_err;
@@ -299,7 +299,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
u16 valid_links = 0;
for (link_id = 0; link_id < IEEE80211_MLD_MAX_NUM_LINKS; link_id++) {
@@ -5008,7 +5009,7 @@ static bool ieee80211_assoc_success(stru
@@ -5009,7 +5010,7 @@ static bool ieee80211_assoc_success(stru
if (WARN_ON(!link))
goto out_err;
@@ -308,7 +308,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
link_info(link,
"local address %pM, AP link address %pM\n",
link->conf->addr,
@@ -5240,7 +5241,7 @@ static void ieee80211_rx_mgmt_assoc_resp
@@ -5241,7 +5242,7 @@ static void ieee80211_rx_mgmt_assoc_resp
ifmgd->broken_ap = true;
}
@@ -317,7 +317,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
if (!elems->multi_link) {
sdata_info(sdata,
"MLO association with %pM but no multi-link element in response!\n",
@@ -5304,7 +5305,7 @@ static void ieee80211_rx_mgmt_assoc_resp
@@ -5305,7 +5306,7 @@ static void ieee80211_rx_mgmt_assoc_resp
resp.uapsd_queues |= ieee80211_ac_to_qos_mask[ac];
}
@@ -326,7 +326,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
ether_addr_copy(ap_mld_addr, sdata->vif.cfg.ap_addr);
resp.ap_mld_addr = ap_mld_addr;
}
@@ -5629,7 +5630,7 @@ static void ieee80211_rx_mgmt_beacon(str
@@ -5630,7 +5631,7 @@ static void ieee80211_rx_mgmt_beacon(str
rcu_read_unlock();
if (ifmgd->assoc_data && ifmgd->assoc_data->need_beacon &&
@@ -335,7 +335,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
ieee80211_rx_our_beacon(bssid, ifmgd->assoc_data->link[0].bss)) {
parse_params.bss = ifmgd->assoc_data->link[0].bss;
elems = ieee802_11_parse_elems_full(&parse_params);
@@ -6319,7 +6320,7 @@ static void ieee80211_sta_bcn_mon_timer(
@@ -6320,7 +6321,7 @@ static void ieee80211_sta_bcn_mon_timer(
struct ieee80211_sub_if_data *sdata =
from_timer(sdata, t, u.mgd.bcn_mon_timer);
@@ -344,7 +344,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
return;
if (sdata->vif.bss_conf.csa_active &&
@@ -6343,7 +6344,7 @@ static void ieee80211_sta_conn_mon_timer
@@ -6344,7 +6345,7 @@ static void ieee80211_sta_conn_mon_timer
struct sta_info *sta;
unsigned long timeout;
@@ -353,7 +353,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
return;
if (sdata->vif.bss_conf.csa_active &&
@@ -6898,7 +6899,7 @@ int ieee80211_mgd_auth(struct ieee80211_
@@ -6899,7 +6900,7 @@ int ieee80211_mgd_auth(struct ieee80211_
return 0;
err_clear:
@@ -456,7 +456,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
chanctx_conf =
rcu_dereference(sdata->vif.bss_conf.chanctx_conf);
if (unlikely(!chanctx_conf)) {
@@ -6008,7 +6008,7 @@ void __ieee80211_tx_skb_tid_band(struct
@@ -6010,7 +6010,7 @@ void __ieee80211_tx_skb_tid_band(struct
BUILD_BUG_ON(!FIELD_FIT(IEEE80211_TX_CTRL_MLO_LINK,
IEEE80211_LINK_UNSPECIFIED));
@@ -465,7 +465,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
link = 0;
} else if (link_id >= 0) {
link = link_id;
@@ -6054,7 +6054,7 @@ void ieee80211_tx_skb_tid(struct ieee802
@@ -6056,7 +6056,7 @@ void ieee80211_tx_skb_tid(struct ieee802
enum nl80211_band band;
rcu_read_lock();
@@ -485,7 +485,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
struct {
u8 id;
u8 len;
@@ -2546,7 +2546,7 @@ int ieee80211_reconfig(struct ieee80211_
@@ -2549,7 +2549,7 @@ int ieee80211_reconfig(struct ieee80211_
continue;
sdata_lock(sdata);
@@ -494,7 +494,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
struct ieee80211_bss_conf *old[IEEE80211_MLD_MAX_NUM_LINKS] = {
[0] = &sdata->vif.bss_conf,
};
@@ -2566,7 +2566,7 @@ int ieee80211_reconfig(struct ieee80211_
@@ -2569,7 +2569,7 @@ int ieee80211_reconfig(struct ieee80211_
for (link_id = 0;
link_id < ARRAY_SIZE(sdata->vif.link_conf);
link_id++) {
@@ -503,7 +503,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
!(sdata->vif.active_links & BIT(link_id)))
continue;
@@ -2598,12 +2598,12 @@ int ieee80211_reconfig(struct ieee80211_
@@ -2601,12 +2601,12 @@ int ieee80211_reconfig(struct ieee80211_
if (sdata->vif.bss_conf.mu_mimo_owner)
changed |= BSS_CHANGED_MU_GROUPS;
@@ -518,7 +518,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
changed |= BSS_CHANGED_ASSOC |
BSS_CHANGED_ARP_FILTER |
BSS_CHANGED_PS;
@@ -2641,7 +2641,7 @@ int ieee80211_reconfig(struct ieee80211_
@@ -2644,7 +2644,7 @@ int ieee80211_reconfig(struct ieee80211_
case NL80211_IFTYPE_AP:
changed |= BSS_CHANGED_P2P_PS;
@@ -527,7 +527,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
ieee80211_vif_cfg_change_notify(sdata,
BSS_CHANGED_SSID);
else
@@ -2655,7 +2655,7 @@ int ieee80211_reconfig(struct ieee80211_
@@ -2658,7 +2658,7 @@ int ieee80211_reconfig(struct ieee80211_
if (sdata->vif.type == NL80211_IFTYPE_AP) {
changed |= BSS_CHANGED_AP_PROBE_RESP;

View File

@@ -18,7 +18,7 @@
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1714,6 +1714,7 @@ enum ieee80211_smps_mode {
@@ -1715,6 +1715,7 @@ enum ieee80211_smps_mode {
*
* @power_level: requested transmit power (in dBm), backward compatibility
* value only that is set to the minimum of all interfaces
@@ -26,7 +26,7 @@
*
* @chandef: the channel definition to tune to
* @radar_enabled: whether radar detection is enabled
@@ -1734,6 +1735,7 @@ enum ieee80211_smps_mode {
@@ -1735,6 +1736,7 @@ enum ieee80211_smps_mode {
struct ieee80211_conf {
u32 flags;
int power_level, dynamic_ps_timeout;
@@ -56,7 +56,7 @@
__NL80211_ATTR_AFTER_LAST,
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -3079,6 +3079,19 @@ static int ieee80211_get_tx_power(struct
@@ -3081,6 +3081,19 @@ static int ieee80211_get_tx_power(struct
return 0;
}
@@ -76,7 +76,7 @@
static void ieee80211_rfkill_poll(struct wiphy *wiphy)
{
struct ieee80211_local *local = wiphy_priv(wiphy);
@@ -5009,6 +5022,7 @@ const struct cfg80211_ops mac80211_confi
@@ -5011,6 +5024,7 @@ const struct cfg80211_ops mac80211_confi
.set_wiphy_params = ieee80211_set_wiphy_params,
.set_tx_power = ieee80211_set_tx_power,
.get_tx_power = ieee80211_get_tx_power,
@@ -105,7 +105,7 @@
u32 offchannel_flag;
offchannel_flag = local->hw.conf.flags & IEEE80211_CONF_OFFCHANNEL;
@@ -157,6 +157,12 @@ static u32 ieee80211_hw_conf_chan(struct
@@ -159,6 +159,12 @@ static u32 ieee80211_hw_conf_chan(struct
}
rcu_read_unlock();
@@ -118,7 +118,7 @@
if (local->hw.conf.power_level != power) {
changed |= IEEE80211_CONF_CHANGE_POWER;
local->hw.conf.power_level = power;
@@ -766,6 +772,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
@@ -768,6 +774,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
IEEE80211_RADIOTAP_MCS_HAVE_BW;
local->hw.radiotap_vht_details = IEEE80211_RADIOTAP_VHT_KNOWN_GI |
IEEE80211_RADIOTAP_VHT_KNOWN_BANDWIDTH;

View File

@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=r8101
PKG_VERSION:=1.039.00
PKG_RELEASE:=2
PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://github.com/openwrt/rtl8101/releases/download/$(PKG_VERSION)
@@ -20,7 +20,7 @@ define KernelPackage/r8101
TITLE:=Realtek RTL8101 PCI Fast Ethernet driver
DEPENDS:=@PCI_SUPPORT +kmod-libphy
FILES:=$(PKG_BUILD_DIR)/src/r8101.ko
AUTOLOAD:=$(call AutoProbe,r8101)
AUTOLOAD:=$(call AutoProbe,r8101,1)
PROVIDES:=kmod-r8169
endef

View File

@@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=r8125
PKG_VERSION:=9.013.02
PKG_RELEASE:=4
PKG_VERSION:=9.016.01
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://github.com/openwrt/rtl8125/releases/download/$(PKG_VERSION)
PKG_HASH:=d36410ee99c956f250d9cd08340d8c36567d190f420a8ee128ff6e51225aac0c
PKG_HASH:=5434b26500538a62541c55cd09eea099177f59bd9cc48d16969089a9bcdbbd41
PKG_BUILD_PARALLEL:=1
PKG_LICENSE:=GPLv2
@@ -20,19 +20,23 @@ define KernelPackage/r8125
TITLE:=Realtek RTL8125 PCI 2.5 Gigabit Ethernet driver
DEPENDS:=@PCI_SUPPORT +kmod-libphy
FILES:=$(PKG_BUILD_DIR)/src/r8125.ko
AUTOLOAD:=$(call AutoProbe,r8125)
AUTOLOAD:=$(call AutoProbe,r8125,1)
PROVIDES:=kmod-r8169
VARIANT:=regular
PKG_MAKE_FLAGS += CONFIG_ASPM=n
endef
define KernelPackage/r8125-rss
$(call KernelPackage/r8125)
CONFLICTS:=kmod-r8125
TITLE+= (RSS)
VARIANT:=rss
endef
ifeq ($(BUILD_VARIANT),rss)
PKG_MAKE_FLAGS += ENABLE_RSS_SUPPORT=y
PKG_MAKE_FLAGS += \
ENABLE_MULTIPLE_TX_QUEUE=y \
ENABLE_RSS_SUPPORT=y
endif
define Build/Compile

View File

@@ -1,26 +0,0 @@
From cd20cf48c0ec2a01fd9f512e25218a6ac8131794 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
Date: Sat, 17 Aug 2024 22:07:23 +0200
Subject: [PATCH] r8125_rss: silence rxnfc log
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This log is noisy and useless, just ignore it.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
---
src/r8125_rss.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/src/r8125_rss.c
+++ b/src/r8125_rss.c
@@ -91,7 +91,7 @@ int rtl8125_get_rxnfc(struct net_device
struct rtl8125_private *tp = netdev_priv(dev);
int ret = -EOPNOTSUPP;
- netif_info(tp, drv, tp->dev, "rss get rxnfc\n");
+ netif_dbg(tp, drv, tp->dev, "rss get rxnfc\n");
if (!(dev->features & NETIF_F_RXHASH))
return ret;

View File

@@ -18,11 +18,12 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
--- a/src/r8125.h
+++ b/src/r8125.h
@@ -1563,6 +1563,8 @@ enum RTL8125_register_content {
@@ -1726,6 +1726,9 @@ enum RTL8125_register_content {
LinkStatus = 0x02,
FullDup = 0x01,
+#define RTL8125_FULL_DUPLEX_MASK (_2500bpsF | _1000bpsF | FullDup)
+#define RTL8125_SPEED_1000_MASK (_1000bpsF | _1000bpsL | _2500bpsL)
+
/* DBG_reg */
Fix_Nak_1 = (1 << 4),
@@ -37,11 +38,11 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/delay.h>
@@ -5112,6 +5113,38 @@ rtl8125_link_down_patch(struct net_devic
@@ -5051,6 +5052,38 @@ rtl8125_link_down_patch(struct net_devic
#endif
}
+static unsigned int rtl8125_phy_duplex(u16 status)
+static unsigned int rtl8125_phy_duplex(u32 status)
+{
+ unsigned int duplex = DUPLEX_UNKNOWN;
+
@@ -55,14 +56,14 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
+ return duplex;
+}
+
+static int rtl8125_phy_speed(u16 status)
+static int rtl8125_phy_speed(u32 status)
+{
+ int speed = SPEED_UNKNOWN;
+
+ if (status & LinkStatus) {
+ if (status & _2500bpsF)
+ speed = SPEED_2500;
+ else if (status & _1000bpsF)
+ else if (status & RTL8125_SPEED_1000_MASK)
+ speed = SPEED_1000;
+ else if (status & _100bps)
+ speed = SPEED_100;
@@ -74,16 +75,16 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
+}
+
static void
_rtl8125_check_link_status(struct net_device *dev)
_rtl8125_check_link_status(struct net_device *dev, unsigned int link_state)
{
@@ -5120,11 +5153,18 @@ _rtl8125_check_link_status(struct net_de
if (tp->link_ok(dev)) {
@@ -5063,11 +5096,18 @@ _rtl8125_check_link_status(struct net_de
if (link_state == R8125_LINK_STATE_ON) {
rtl8125_link_on_patch(dev);
- if (netif_msg_ifup(tp))
- printk(KERN_INFO PFX "%s: link up\n", dev->name);
+ if (netif_msg_ifup(tp)) {
+ const u16 phy_status = RTL_R16(tp, PHYstatus);
+ const u32 phy_status = RTL_R32(tp, PHYstatus);
+ const unsigned int phy_duplex = rtl8125_phy_duplex(phy_status);
+ const int phy_speed = rtl8125_phy_speed(phy_status);
+ printk(KERN_INFO PFX "%s: Link is Up - %s/%s\n",

View File

@@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=r8126
PKG_VERSION:=10.013.00
PKG_RELEASE:=4
PKG_VERSION:=10.016.00
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://github.com/openwrt/rtl8126/releases/download/$(PKG_VERSION)
PKG_HASH:=b41bda6ff3bbb7d9bc5b81c5c21355f031587d3a3a5862abcd4d766e942272e7
PKG_HASH:=50c8d3d49592d2e8f372bd7ece8e7df9b50a71b055c077d42eacc42302914440
PKG_BUILD_PARALLEL:=1
PKG_LICENSE:=GPLv2
@@ -20,19 +20,22 @@ define KernelPackage/r8126
TITLE:=Realtek RTL8126 PCI 5 Gigabit Ethernet driver
DEPENDS:=@PCI_SUPPORT +kmod-libphy
FILES:=$(PKG_BUILD_DIR)/src/r8126.ko
AUTOLOAD:=$(call AutoProbe,r8126)
AUTOLOAD:=$(call AutoProbe,r8126,1)
PROVIDES:=kmod-r8169
VARIANT:=regular
endef
define KernelPackage/r8126-rss
$(call KernelPackage/r8126)
CONFLICTS:=kmod-r8126
TITLE+= (RSS)
VARIANT:=rss
endef
ifeq ($(BUILD_VARIANT),rss)
PKG_MAKE_FLAGS += ENABLE_RSS_SUPPORT=y
PKG_MAKE_FLAGS += \
ENABLE_MULTIPLE_TX_QUEUE=y \
ENABLE_RSS_SUPPORT=y
endif
define Build/Compile

View File

@@ -1,21 +0,0 @@
From 9649df50a239d1379cc8d9febd4854a0c7ca0731 Mon Sep 17 00:00:00 2001
From: Mieczyslaw Nalewaj <namiltd@poczta.onet.pl>
Date: Sat, 10 Aug 2024 17:42:44 +0200
Subject: [PATCH] r8126.h: use BIT_ULL
Fixes compilation on 32 bit systems.
---
src/r8126.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/src/r8126.h
+++ b/src/r8126.h
@@ -678,7 +678,7 @@ This is free software, and you are welco
#ifndef ADVERTISED_2500baseX_Full
#define ADVERTISED_2500baseX_Full 0x8000
#endif
-#define RTK_ADVERTISED_5000baseX_Full BIT(48)
+#define RTK_ADVERTISED_5000baseX_Full BIT_ULL(48)
#define RTK_ADVERTISE_2500FULL 0x80
#define RTK_ADVERTISE_5000FULL 0x100

View File

@@ -1,27 +0,0 @@
From cd20cf48c0ec2a01fd9f512e25218a6ac8131794 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
Date: Sat, 17 Aug 2024 22:07:23 +0200
Subject: [PATCH] r8126_rss: silence rxnfc log
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This log is noisy and useless, just ignore it.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
src/r8126_rss.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/src/r8126_rss.c
+++ b/src/r8126_rss.c
@@ -91,7 +91,7 @@ int rtl8126_get_rxnfc(struct net_device
struct rtl8126_private *tp = netdev_priv(dev);
int ret = -EOPNOTSUPP;
- netif_info(tp, drv, tp->dev, "rss get rxnfc\n");
+ netif_dbg(tp, drv, tp->dev, "rss get rxnfc\n");
if (!(dev->features & NETIF_F_RXHASH))
return ret;

View File

@@ -18,11 +18,13 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
--- a/src/r8126.h
+++ b/src/r8126.h
@@ -1561,6 +1561,8 @@ enum RTL8126_register_content {
@@ -1752,6 +1752,10 @@ enum RTL8126_register_content {
LinkStatus = 0x02,
FullDup = 0x01,
+#define RTL8126_FULL_DUPLEX_MASK (_5000bpsF | _2500bpsF | _1000bpsF | FullDup)
+#define RTL8126_SPEED_1000_MASK (_1000bpsF | _1000bpsL | _2500bpsL)
+#define RTL8126_SPEED_2500_MASK (_2500bpsF | _5000bpsL)
+
/* DBG_reg */
Fix_Nak_1 = (1 << 4),
@@ -37,11 +39,11 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/delay.h>
@@ -4740,6 +4741,40 @@ rtl8126_link_down_patch(struct net_devic
#endif
@@ -4410,6 +4411,40 @@ rtl8126_link_down_patch(struct net_devic
//rtl8126_set_speed(dev, tp->autoneg, tp->speed, tp->duplex, tp->advertising);
}
+static unsigned int rtl8126_phy_duplex(u16 status)
+static unsigned int rtl8126_phy_duplex(u32 status)
+{
+ unsigned int duplex = DUPLEX_UNKNOWN;
+
@@ -55,16 +57,16 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
+ return duplex;
+}
+
+static int rtl8126_phy_speed(u16 status)
+static int rtl8126_phy_speed(u32 status)
+{
+ int speed = SPEED_UNKNOWN;
+
+ if (status & LinkStatus) {
+ if (status & _5000bpsF)
+ speed = SPEED_5000;
+ else if (status & _2500bpsF)
+ else if (status & RTL8126_SPEED_2500_MASK)
+ speed = SPEED_2500;
+ else if (status & _1000bpsF)
+ else if (status & RTL8126_SPEED_1000_MASK)
+ speed = SPEED_1000;
+ else if (status & _100bps)
+ speed = SPEED_100;
@@ -76,16 +78,16 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
+}
+
static void
_rtl8126_check_link_status(struct net_device *dev)
_rtl8126_check_link_status(struct net_device *dev, unsigned int link_state)
{
@@ -4748,11 +4783,18 @@ _rtl8126_check_link_status(struct net_de
if (tp->link_ok(dev)) {
@@ -4422,11 +4457,18 @@ _rtl8126_check_link_status(struct net_de
if (link_state == R8126_LINK_STATE_ON) {
rtl8126_link_on_patch(dev);
- if (netif_msg_ifup(tp))
- printk(KERN_INFO PFX "%s: link up\n", dev->name);
+ if (netif_msg_ifup(tp)) {
+ const u16 phy_status = RTL_R16(tp, PHYstatus);
+ const u32 phy_status = RTL_R32(tp, PHYstatus);
+ const unsigned int phy_duplex = rtl8126_phy_duplex(phy_status);
+ const int phy_speed = rtl8126_phy_speed(phy_status);
+ printk(KERN_INFO PFX "%s: Link is Up - %s/%s\n",

View File

@@ -0,0 +1,49 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=r8127
PKG_VERSION:=11.015.00
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://github.com/openwrt/rtl8127/releases/download/$(PKG_VERSION)
PKG_HASH:=ab21bf69368fb9de7f591b2e81cf1a815988bbf086ecbf41af7de9787b10594b
PKG_BUILD_PARALLEL:=1
PKG_LICENSE:=GPLv2
PKG_MAINTAINER:=Alvaro Fernandez Rojas <noltari@gmail.com>
include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/package.mk
define KernelPackage/r8127
SUBMENU:=Network Devices
TITLE:=Realtek RTL8127 PCI 10 Gigabit Ethernet driver
DEPENDS:=@PCI_SUPPORT +kmod-libphy
FILES:=$(PKG_BUILD_DIR)/src/r8127.ko
AUTOLOAD:=$(call AutoProbe,r8127,1)
PROVIDES:=kmod-r8169
VARIANT:=regular
endef
define KernelPackage/r8127-rss
$(call KernelPackage/r8127)
CONFLICTS:=kmod-r8127
TITLE+= (RSS)
VARIANT:=rss
endef
ifeq ($(BUILD_VARIANT),rss)
PKG_MAKE_FLAGS += \
ENABLE_MULTIPLE_TX_QUEUE=y \
ENABLE_RSS_SUPPORT=y
endif
define Build/Compile
+$(KERNEL_MAKE) $(PKG_JOBS) \
$(PKG_MAKE_FLAGS) \
M="$(PKG_BUILD_DIR)/src" \
modules
endef
$(eval $(call KernelPackage,r8127))
$(eval $(call KernelPackage,r8127-rss))

View File

@@ -0,0 +1,107 @@
From 5ca1d47e065c0318774a946ffdf76010c78cc164 Mon Sep 17 00:00:00 2001
From: Chukun Pan <amadeus@jmu.edu.cn>
Date: Sat, 10 Aug 2024 20:16:32 +0800
Subject: [PATCH] r8127: print link speed and duplex mode
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Like other Ethernet drivers, print link speed and duplex mode
when the interface is up. Formatting output at the same time.
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
---
src/r8127.h | 2 ++
src/r8127_n.c | 48 +++++++++++++++++++++++++++++++++++++++++++++---
2 files changed, 47 insertions(+), 3 deletions(-)
--- a/src/r8127.h
+++ b/src/r8127.h
@@ -1770,6 +1770,11 @@ enum RTL8127_register_content {
LinkStatus = 0x02,
FullDup = 0x01,
+#define RTL8127_FULL_DUPLEX_MASK (_10000bpsF | _5000bpsF | _2500bpsF | _1000bpsF | FullDup)
+#define RTL8127_SPEED_1000_MASK (_1000bpsF | _1000bpsL | _2500bpsL)
+#define RTL8127_SPEED_2500_MASK (_2500bpsF | _5000bpsL)
+#define RTL8127_SPEED_5000_MASK (_5000bpsF | _10000bpsL)
+
/* DBG_reg */
Fix_Nak_1 = (1 << 4),
Fix_Nak_2 = (1 << 3),
--- a/src/r8127_n.c
+++ b/src/r8127_n.c
@@ -39,6 +39,7 @@
#include <linux/module.h>
#include <linux/version.h>
#include <linux/pci.h>
+#include <linux/phy.h>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/delay.h>
@@ -4734,6 +4735,42 @@ rtl8127_link_down_patch(struct net_devic
#endif
}
+static unsigned int rtl8127_phy_duplex(u32 status)
+{
+ unsigned int duplex = DUPLEX_UNKNOWN;
+
+ if (status & LinkStatus) {
+ if (status & RTL8127_FULL_DUPLEX_MASK)
+ duplex = DUPLEX_FULL;
+ else
+ duplex = DUPLEX_HALF;
+ }
+
+ return duplex;
+}
+
+static int rtl8127_phy_speed(u32 status)
+{
+ int speed = SPEED_UNKNOWN;
+
+ if (status & LinkStatus) {
+ if (status & _10000bpsF)
+ speed = SPEED_10000;
+ else if (status & RTL8127_SPEED_5000_MASK)
+ speed = SPEED_5000;
+ else if (status & RTL8127_SPEED_2500_MASK)
+ speed = SPEED_2500;
+ else if (status & RTL8127_SPEED_1000_MASK)
+ speed = SPEED_1000;
+ else if (status & _100bps)
+ speed = SPEED_100;
+ else if (status & _10bps)
+ speed = SPEED_10;
+ }
+
+ return speed;
+}
+
static void
_rtl8127_check_link_status(struct net_device *dev, unsigned int link_state)
{
@@ -4746,11 +4783,18 @@ _rtl8127_check_link_status(struct net_de
if (link_state == R8127_LINK_STATE_ON) {
rtl8127_link_on_patch(dev);
- if (netif_msg_ifup(tp))
- printk(KERN_INFO PFX "%s: link up\n", dev->name);
+ if (netif_msg_ifup(tp)) {
+ const u32 phy_status = RTL_R32(tp, PHYstatus);
+ const unsigned int phy_duplex = rtl8127_phy_duplex(phy_status);
+ const int phy_speed = rtl8127_phy_speed(phy_status);
+ printk(KERN_INFO PFX "%s: Link is Up - %s/%s\n",
+ dev->name,
+ phy_speed_to_str(phy_speed),
+ phy_duplex_to_str(phy_duplex));
+ }
} else {
if (netif_msg_ifdown(tp))
- printk(KERN_INFO PFX "%s: link down\n", dev->name);
+ printk(KERN_INFO PFX "%s: Link is Down\n", dev->name);
rtl8127_link_down_patch(dev);
}

View File

@@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=r8168
PKG_VERSION:=8.053.00
PKG_RELEASE:=2
PKG_VERSION:=8.055.00
PKG_RELEASE:=4
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://github.com/openwrt/rtl8168/releases/download/$(PKG_VERSION)
PKG_HASH:=52f1e6200672b598a04d4ac21ac92a8a9e128b38208c7b03a464bfa93bbfcc8f
PKG_HASH:=61deb2a9cb7d6b08748ad51734b108da95d629712b64b204e2e6bd3f16d0a48f
PKG_BUILD_PARALLEL:=1
PKG_LICENSE:=GPLv2
@@ -20,14 +20,30 @@ define KernelPackage/r8168
TITLE:=Realtek RTL8168 PCI Gigabit Ethernet driver
DEPENDS:=@PCI_SUPPORT +kmod-libphy
FILES:=$(PKG_BUILD_DIR)/src/r8168.ko
AUTOLOAD:=$(call AutoProbe,r8168)
AUTOLOAD:=$(call AutoProbe,r8168,1)
PROVIDES:=kmod-r8169
VARIANT:=regular
endef
define KernelPackage/r8168-rss
$(call KernelPackage/r8168)
CONFLICTS:=kmod-r8168
TITLE+= (RSS)
VARIANT:=rss
endef
ifeq ($(BUILD_VARIANT),rss)
PKG_MAKE_FLAGS += \
ENABLE_MULTIPLE_TX_QUEUE=y \
ENABLE_RSS_SUPPORT=y
endif
define Build/Compile
+$(KERNEL_MAKE) $(PKG_JOBS) \
$(PKG_MAKE_FLAGS) \
M="$(PKG_BUILD_DIR)/src" \
modules
endef
$(eval $(call KernelPackage,r8168))
$(eval $(call KernelPackage,r8168-rss))

View File

@@ -13,7 +13,7 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
--- a/src/r8168_n.c
+++ b/src/r8168_n.c
@@ -1655,9 +1655,9 @@ static int proc_dump_rx_desc_2(struct se
@@ -1668,9 +1668,9 @@ static int proc_dump_rx_desc_2(struct se
j, k);
for (i=0; i<(tp->RxDescLength/4); i++) {
if (!(i % 4))

View File

@@ -18,7 +18,7 @@ Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
--- a/src/r8168.h
+++ b/src/r8168.h
@@ -1385,6 +1385,8 @@ enum RTL8168_register_content {
@@ -1480,6 +1480,8 @@ enum RTL8168_register_content {
LinkStatus = 0x02,
FullDup = 0x01,
@@ -37,7 +37,7 @@ Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/delay.h>
@@ -5373,6 +5374,36 @@ rtl8168_link_down_patch(struct net_devic
@@ -5396,6 +5397,38 @@ rtl8168_link_down_patch(struct net_devic
#endif
}
@@ -66,6 +66,8 @@ Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
+ speed = SPEED_100;
+ else if (status & _10bps)
+ speed = SPEED_10;
+ else if (eee_giga_lite)
+ speed = SPEED_1000;
+ }
+
+ return speed;
@@ -74,7 +76,7 @@ Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
static void
rtl8168_check_link_status(struct net_device *dev)
{
@@ -5392,11 +5423,18 @@ rtl8168_check_link_status(struct net_dev
@@ -5415,11 +5448,18 @@ rtl8168_check_link_status(struct net_dev
if (link_status_on) {
rtl8168_link_on_patch(dev);

View File

@@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libxml2
PKG_VERSION:=2.12.5
PKG_VERSION:=2.14.5
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNOME/libxml2/$(basename $(PKG_VERSION))
PKG_HASH:=a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21
PKG_HASH:=03d006f3537616833c16c53addcdc32a0eb20e55443cba4038307e3fa7d8d44b
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
@@ -61,7 +61,7 @@ endef
CMAKE_HOST_OPTIONS += \
-DBUILD_SHARED_LIBS=OFF \
-DLIBXML2_WITH_C14N=ON \
-DLIBXML2_WITH_CATALOG=OFF \
-DLIBXML2_WITH_CATALOG=ON \
-DLIBXML2_WITH_DEBUG=ON \
-DLIBXML2_WITH_FTP=OFF \
-DLIBXML2_WITH_HTML=ON \
@@ -99,7 +99,7 @@ CMAKE_HOST_OPTIONS += \
CMAKE_OPTIONS += \
-DBUILD_SHARED_LIBS=ON \
-DLIBXML2_WITH_C14N=ON \
-DLIBXML2_WITH_CATALOG=OFF \
-DLIBXML2_WITH_CATALOG=ON \
-DLIBXML2_WITH_DEBUG=ON \
-DLIBXML2_WITH_FTP=OFF \
-DLIBXML2_WITH_HTML=ON \
@@ -160,9 +160,6 @@ define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libxml-2.0.pc $(1)/usr/lib/pkgconfig/
$(INSTALL_DIR) $(2)/share/aclocal/
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/aclocal/* $(2)/share/aclocal
endef
define Host/Install
@@ -190,9 +187,6 @@ define Package/libxml2-dev/install
$(INSTALL_DIR) $(1)/usr/lib/{cmake,pkgconfig}
$(CP) $(PKG_INSTALL_DIR)/usr/lib/{cmake,pkgconfig} $(1)/usr/lib/
$(SED) "s,$(STAGING_DIR),,g" $(1)/usr/lib/pkgconfig/*.pc
$(INSTALL_DIR) $(1)/usr/share/aclocal
$(CP) $(PKG_INSTALL_DIR)/usr/share/aclocal/* $(1)/usr/share/aclocal
endef
define Package/libxml2-utils/install

View File

@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=mbedtls
PKG_VERSION:=2.28.9
PKG_VERSION:=2.28.10
PKG_RELEASE:=1
PKG_BUILD_FLAGS:=no-mips16 gc-sections no-lto
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/ARMmbed/mbedtls/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=e4dbcf86a4fb31506482888560f02b161e0ecfb82fee0643abcfc86abee5817e
PKG_HASH:=0f2e0525903a89ae1d39ce439d858be66933bda54c5b6102b72a29ed8fe7c088
PKG_LICENSE:=GPL-2.0-or-later
PKG_LICENSE_FILES:=gpl-2.0.txt

View File

@@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=openssl
PKG_VERSION:=3.0.15
PKG_VERSION:=3.0.19
PKG_RELEASE:=1
PKG_BUILD_FLAGS:=no-mips16 gc-sections no-lto
@@ -17,18 +17,14 @@ PKG_BUILD_PARALLEL:=1
PKG_BASE:=$(subst $(space),.,$(wordlist 1,2,$(subst .,$(space),$(PKG_VERSION))))
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:= \
http://www.openssl.org/source/ \
http://www.openssl.org/source/old/$(PKG_BASE)/ \
https://github.com/openssl/openssl/releases/download/$(PKG_NAME)-$(PKG_VERSION)/ \
http://ftp.fi.muni.cz/pub/openssl/source/ \
http://ftp.fi.muni.cz/pub/openssl/source/old/$(PKG_BASE)/ \
ftp://ftp.pca.dfn.de/pub/tools/net/openssl/source/ \
ftp://ftp.pca.dfn.de/pub/tools/net/openssl/source/old/$(PKG_BASE)/
https://www.openssl.org/source/ \
https://www.openssl.org/source/old/$(PKG_BASE)/ \
https://github.com/openssl/openssl/releases/download/$(PKG_NAME)-$(PKG_VERSION)/
PKG_HASH:=23c666d0edf20f14249b3d8f0368acaee9ab585b09e1de82107c66e1f3ec9533
PKG_HASH:=fa5a4143b8aae18be53ef2f3caf29a2e0747430b8bc74d32d88335b94ab63072
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_LICENSE_FILES:=LICENSE.txt
PKG_MAINTAINER:=Eneas U de Queiroz <cotequeiroz@gmail.com>
PKG_CPE_ID:=cpe:/a:openssl:openssl
PKG_CONFIG_DEPENDS:= \
@@ -74,7 +70,7 @@ endif
define Package/openssl/Default
TITLE:=Open source SSL toolkit
URL:=http://www.openssl.org/
URL:=https://www.openssl.org/
SECTION:=libs
CATEGORY:=Libraries
endef

View File

@@ -10,7 +10,7 @@ Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
--- a/Configure
+++ b/Configure
@@ -1677,7 +1677,9 @@ $config{CFLAGS} = [ map { $_ eq '--ossl-
@@ -1678,7 +1678,9 @@ $config{CFLAGS} = [ map { $_ eq '--ossl-
unless ($disabled{afalgeng}) {
$config{afalgeng}="";

View File

@@ -16,9 +16,9 @@ Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
--- a/ssl/ssl_ciph.c
+++ b/ssl/ssl_ciph.c
@@ -1506,11 +1506,29 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_
@@ -1490,11 +1490,29 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_
ssl_cipher_apply_rule(0, SSL_kECDHE, 0, 0, 0, 0, 0, CIPHER_DEL, -1, &head,
&tail);
&tail);
+ /*
+ * If OPENSSL_PREFER_CHACHA_OVER_GCM is defined, ChaCha20_Poly1305
@@ -33,20 +33,20 @@ Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
+
+#ifdef OPENSSL_PREFER_CHACHA_OVER_GCM
+ ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20, 0, 0, 0, CIPHER_ADD, -1,
+ &head, &tail);
+ &head, &tail);
+ ssl_cipher_apply_rule(0, 0, 0, SSL_AESGCM, 0, 0, 0, CIPHER_ADD, -1,
+ &head, &tail);
+ &head, &tail);
+#else
/* Within each strength group, we prefer GCM over CHACHA... */
ssl_cipher_apply_rule(0, 0, 0, SSL_AESGCM, 0, 0, 0, CIPHER_ADD, -1,
&head, &tail);
&head, &tail);
ssl_cipher_apply_rule(0, 0, 0, SSL_CHACHA20, 0, 0, 0, CIPHER_ADD, -1,
&head, &tail);
&head, &tail);
+#endif
/*
* ...and generally, our preferred cipher is AES.
@@ -1565,7 +1583,7 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_
@@ -1549,7 +1567,7 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_
* Within each group, ciphers remain sorted by strength and previous
* preference, i.e.,
* 1) ECDHE > DHE
@@ -55,7 +55,7 @@ Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
* 3) AES > rest
* 4) TLS 1.2 > legacy
*
@@ -2236,7 +2254,13 @@ const char *OSSL_default_cipher_list(voi
@@ -2222,7 +2240,13 @@ const char *OSSL_default_cipher_list(voi
*/
const char *OSSL_default_ciphersuites(void)
{
@@ -71,22 +71,20 @@ Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
}
--- a/include/openssl/ssl.h.in
+++ b/include/openssl/ssl.h.in
@@ -195,9 +195,15 @@ extern "C" {
@@ -197,10 +197,16 @@ extern "C" {
* DEPRECATED IN 3.0.0, in favor of OSSL_default_ciphersuites()
* Update both macro and function simultaneously
*/
-# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \
- "TLS_CHACHA20_POLY1305_SHA256:" \
- "TLS_AES_128_GCM_SHA256"
+# ifdef OPENSSL_PREFER_CHACHA_OVER_GCM
+# define TLS_DEFAULT_CIPHERSUITES "TLS_CHACHA20_POLY1305_SHA256:" \
+ "TLS_AES_256_GCM_SHA384:" \
+ "TLS_AES_128_GCM_SHA256"
+# else
+# define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \
+ "TLS_CHACHA20_POLY1305_SHA256:" \
+ "TLS_AES_128_GCM_SHA256"
+# endif
# endif
+#ifdef OPENSSL_PREFER_CHACHA_OVER_GCM
+#define TLS_DEFAULT_CIPHERSUITES "TLS_CHACHA20_POLY1305_SHA256:" \
+ "TLS_AES_256_GCM_SHA384:" \
+ "TLS_AES_128_GCM_SHA256"
+#else
#define TLS_DEFAULT_CIPHERSUITES "TLS_AES_256_GCM_SHA384:" \
"TLS_CHACHA20_POLY1305_SHA256:" \
"TLS_AES_128_GCM_SHA256"
#endif
+#endif
/*
* As of OpenSSL 1.0.0, ssl_create_cipher_list() in ssl/ssl_ciph.c always
* starts with a reasonable order, and all we have to do for DEFAULT is

Some files were not shown because too many files have changed in this diff Show More