Backport changes to the pinctrl driver to bring it closer to
the upstream version. Also fix the bug in the pinctrl driver:
pinctrl-airoha ...pinctrl: invalid function mdio in map table
Fixes: bd7f5b3 ("airoha: replace AN7583 pinctrl patch with upstream version")
Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
Link: https://github.com/openwrt/openwrt/pull/20770
(cherry picked from commit 69f0ee5bafee745540e65f6e43d3fbf1ceb0f6d8)
[ fix conflict errors, adapt to 6.6 ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 9c04f527c62b38faf25e39e958679d2c717c618d)
Replace Airoha AN7583 pinctrl patch with upstream version as it has been
accepted upstream. Add the related kernel version tag to identify it.
(cherry picked from commit bd7f5b32a6b343a07a2171236671fece947c5d57)
[ fix conflict errors, adapt to 6.6 ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 530cd87815992c8234964d23bd1417251c47f298)
The shared reset procedure of MT7610 and MT7612 stop all queues before
starting the reset sequence.
They however never restart these like other supported mt76 chips
do in the reconfig_complete call. This leads to TX not continuing
after the reset.
Restart queues in the reconfig_complete callback to restore
functionality after the reset.
Signed-off-by: David Bauer <mail@david-bauer.net>
Link: https://patchwork.kernel.org/project/linux-wireless/patch/20251129023904.288484-1-mail@david-bauer.net/
(cherry picked from commit a89e40993bd2bbd79d5dcc70900f2eed7767e79d)
On MT7620-class platforms (CONFIG_NET_RALINK_MT7620) we observe sporadic
wrong-jump-targets, kernel oopses, hanging, corrupted backtraces or even
"half-written" instructions when the compiler emits a direct 'jal imm26'
call.
This is triggered in:
- the small random helpers inside get_random_u32_below(), and
- the blkcg_maybe_throttle_current() call in resume_user_mode_work().
This patch forces those two call sites to use an indirect call via
a volatile function pointer (load into register + jalr) when building
for MT7620, avoiding embedding a 26-bit immediate jump target.
Additionally, on MT7620 builds the exec path in fs/exec.c is modified:
- skip arch_align_stack() + PAGE_ALIGN() in setup_arg_pages()
because the micro-randomization (< PAGE_SIZE) implemented by many
ports (including MT7620) is negated immediately by PAGE_ALIGN().
Skipping the redundant PAGE_ALIGN() reduces exposure to the
problematic code pattern.
These changes are targeted workarounds for MT7620; behavioral logic is unchanged.
Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/20553
(cherry picked from commit 22ccb445e611018ede702e6c0798640353632cce)
Link: https://github.com/openwrt/openwrt/pull/22216
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit f7005097ae35508ad619251ce7ed127580218e61)
Add some additional Gateworks Venice boards to sysupgrade support.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/22202
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit a9f4daa3febdcd7975316b2d113efb7a8928980b)
(cherry picked from commit 2bd8d4921f76d83d5d69bb963a0703c9e098a937)
Add support so openwrt can be compiled using
coreutils from GNU or uutils.
Signed-off-by: Marcos Alano <marcoshalano@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/19883
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 67345ead6cf2c406df11f1c341f5c34dfe28bd01)
(cherry picked from commit 1bd47397ae890fc951d77f3010d58ace73839f76)
Switch the mac lookup to NVMEM on UBI layout and add label-mac for 24.10
Signed-off-by: Steffen Förster <nemesis@chemnitz.freifunk.net>
(cherry picked from commit 73819013eebca620944673e333dc47fb36bec95c)
The GPIO line connecting to the reset signals of the GS1900-24E(A1)'s
external ICs (RTL8218B phys and RTL8231 expander) cannot be asserted by
the MDIO subsystem, as the reset is shared between busses.
To prevent users from accidentally asserting the reset line, a GPIO hog
is created to permanently de-assert the signal, reliably keeping the
phys and GPIO expanders on.
Tested-by: Simon Fischer <simi.fischa@gmail.com>
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit ba57225066243b28d2802ea5c47313c97767150e)
(cherry picked from commit a98f49b968a55d0a33e841259b76eb38b9396386)
The reset line wired to the RTL8231 on the GS1900 series may also
connect to other external ICs on the board. On the GS1900-24E, the
reset line is wired (via buffers) to the board's RTL8231 expanders and
the RTL8218 phys. As these external devices (phys) are on different
busses, the reset line shouldn't be specified on one bus or the other.
Drop the reset specification from the generic GPIO description, so it
can be added back on a per-device basis after confirming the behavior.
Link: https://github.com/openwrt/openwrt/issues/18620
Fixes: fd978c2e80 ("realtek: Enable Zyxel GS1900's RTL8231 reset line")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
(cherry picked from commit cdbd9eb448a8fa802cbc2b2f8a1dec93b3999a3b)
(cherry picked from commit ffb3f31f08b4aec6144b5d7e7bd2c2ab1d68f55a)
Newer Cudy WR3000H units have a Motorcomm YT8821 PHY instead of a
Realtek PHY on the WAN port. Before this commit, the Motorcomm PHY
could not be autodetected by the kernel -- the PHY would show up as
just a generic clause 45 PHY and the proper driver would not be loaded.
The cause of the detection failure likely was that the YT8821 PHY was
held in reset during PHY detection. To fix this, move the reset GPIO
definition to the MDIO bus level. This reset line is deasserted before
the autodetection process, see also [1]. With this change, both Realtek
and Motorcomm PHYs can be supported with a single device tree.
[1]: https://lore.kernel.org/all/20251119134750.394655-1-horatiu.vultur@microchip.com/
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21399
(cherry picked from commit 02f0efd60b423b4ce9b996f7c986dd68965a50d4)
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21531
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit bed6f08c36f85479448af23a0ce4ca00dd09fa8e)
Recent Cudy WR3000H v1 units have a Motorcomm YT8821 2.5G PHY for
the WAN interface instead of the RTL8221B PHY used in earlier units,
so add kmod-phy-motorcomm to be able to use it.
Signed-off-by: Andrew MacIntyre <andymac@pcug.org.au>
[linuxtardis@gmail.com: slightly reworded the commit description]
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21399
(cherry picked from commit dbafbab8769b92c8466ea83400280b4f549ace71)
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21531
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 09e56437e8be4e0d85ab5697ec7a12b463a05397)
The Motorcomm YT8821 2.5G PHY is being used in some devices as an
alternative to devices like the RTL8221B. Package it as a kmod
so it can be used as a device package rather than requiring changes
to the target kernel config.
Signed-off-by: Andrew MacIntyre <andymac@pcug.org.au>
Link: https://github.com/openwrt/openwrt/pull/21399
(cherry picked from commit 96a133737433eca069e26b1730ea5a895b8f2fd8)
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21531
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 194275c6f308ede252720c3ef7d3f485d997b15e)
A recently introduced hardware revision of the Cudy WR3000H
router uses the Motorcomm YT8821 PHY chip on its 2.5G WAN port.
Backport the YT8821 enablement patch to the 6.6 kernel to make
the new WR3000H supportable on OpenWrt 24.10.
Signed-off-by: Jakub Vaněk <linuxtardis@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21531
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit f3de64751cfe5ff663ec8e168d184c9ede36b5e5)
Add a module for tpm-tis-spi for TCG TIS 1.3 TPM security chips
connected to a regular non-tcg SPI master.
Add imx target compatibility for kmod-tpm.
Signed-off-by: Tim Harvey <tharvey@gateworks.com>
Link: https://github.com/openwrt/openwrt/pull/21726
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 92a94dc9b0df12111e4c81ff1a280e32deb5eba3)
Link: https://github.com/openwrt/openwrt/pull/21781
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 7c22ba7b333eeea4725603a5d55d9dbef2860959)
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/21831
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 9237dea49e8f868b6c0408973c05e1acc4df4296)
Include XHCI USB drivers on the Cudy WR3000P v1 router, the drivers are
required to be able to use the USB port for USD devices.
Closes: https://github.com/openwrt/openwrt/issues/21231
Fixes: 04e9d154f209 ("mediatek: filogic: add support for Cudy WR3000P v1")
Signed-off-by: Dmitry Mostovoy <dmitry.mostovoy@ceifx.com>
Link: https://github.com/openwrt/openwrt/pull/21281
(cherry picked from commit 9da57e2f828bc4a589b9a94e4cdf1b6ccdeb110e)
Link: https://github.com/openwrt/openwrt/pull/21405
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 8843108ff0fffb2abdc87465c323c97c7821df05)
Swig 4.3.0 has changed SWIG_Python_AppendOutput, which now requires an
additional parameter `is_void`. SWIG_AppendOutput remains unchanged.
This was fixed upstream in u-boot/u-boot@a63456b
```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
5581 | resultobj = SWIG_Python_AppendOutput(resultobj, val);
| ^~~~~~~~~~~~~~~~~~~~~~~~
```
This is the same fix as applied in 363e07d and 71b5de6.
This commit is not part of the main branch, as the main branch has
already bumped past 2025.01, removing the need for this patch.
uboot-rockchip had the patch removed as part of 92814fe, which was the
bump to 2025.01.
Signed-off-by: Trix Taiclet <git@trix.moe>
Link: https://github.com/openwrt/openwrt/pull/21415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 94a54a1e03dd8ae03c7626f15939350fe2f2cf0c)
Swig 4.3.0 has changed SWIG_Python_AppendOutput, which now requires an
additional parameter `is_void`. SWIG_AppendOutput remains unchanged.
This was fixed upstream in u-boot/u-boot@a63456b
```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
5581 | resultobj = SWIG_Python_AppendOutput(resultobj, val);
| ^~~~~~~~~~~~~~~~~~~~~~~~
```
This is the same fix as applied in 363e07d.
Fixes: #20619
Link: #20620
Signed-off-by: Trix Taiclet <trix@c3l.lu>
Link: https://github.com/openwrt/openwrt/pull/20620
(cherry picked from commit 71b5de61aecf49ca1522b3f549631417c67e73d0)
Signed-off-by: Trix Taiclet <git@trix.moe>
Link: https://github.com/openwrt/openwrt/pull/21415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 4327b82a7b4fd39f540169a20a364f572abfc35c)
Fixes the following error by backporting upstream update:
```
scripts/dtc/pylibfdt/libfdt_wrap.c: In function ‘_wrap_fdt_next_node’:
scripts/dtc/pylibfdt/libfdt_wrap.c:5581:17: error: too few arguments to function ‘SWIG_Python_AppendOutput’
5581 | resultobj = SWIG_Python_AppendOutput(resultobj, val);
| ^~~~~~~~~~~~~~~~~~~~~~~~
```
This is the same fix as applied in 4e68103c4eb9 ("uboot-rockchip: fix build with swig 4.3.0")
Link: https://github.com/openwrt/openwrt/pull/20538
(cherry picked from commit 363e07dfa2ec39756dad3ef9c955bc83b9e920c9)
Signed-off-by: Trix Taiclet <git@trix.moe>
Link: https://github.com/openwrt/openwrt/pull/21415
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 23180fbfaad6e202f2745e811175ec1625ea17d9)
The gmac definition has an offset of 1 at the moment. This leads to an
off by one error in downstream projects that rely on the package label mac.
Signed-off-by: Steffen Förster <nemesis@chemnitz.freifunk.net>
Link: https://github.com/openwrt/openwrt/pull/21543
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Link: https://github.com/openwrt/openwrt/pull/21561
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 49862b1cf56e72a12d7dfad1b34f2e34bae44b2d)
The gmac definition has an offset of 1 compared to the label MAC.
Fixes: a55ab9e134 ("mediatek: filogic: prevent faulty mac address assignment")
Signed-off-by: Maximilian Baumgartner <aufhaxer@googlemail.com>
Link: https://github.com/openwrt/openwrt/pull/21560
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 687a2535d55f84a0daa2038b7e8736313cb2804e)
(cherry picked from commit 82f4ee5656d0126de24cf1cc2197c4194a31d6e9)
The SUPPORTED_DEVICES sets for both Maxlinear (v1) and Airoha (v2)
devices were identical, so sysupgrade was unable to detect when an
incorrect image was being installed. This caused "soft bricking" of
devices when a v1 image was installed on a v2 device, and vice versa.
Fix this by making the supported_devices distinct for each device
version, by renaming the devices with a version-specific name.
This is reflected in the file name and the image metadata.
Fixes: https://github.com/openwrt/openwrt/issues/20566
Fixes: https://github.com/openwrt/asu/issues/1525
Signed-off-by: Eric Fahlgren <ericfahlgren@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/20632
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit b71f4665cda10c284c9460409ae30fb9b0beecf8)
(cherry picked from commit dcf11c832a95595e6b919b88d6cd649bd9343a1f)
The EW71v2 has the WAN port configured at eth1.
The printed label-mac is configured on this iface in openwrt.
Signed-off-by: Florian Maurer <f.maurer@outlook.de>
(cherry picked from commit 7f3537ee2cefbe90ff9408c5bf0c855186daa62b)
(cherry picked from commit b023a06cfb88ef9688a7f1c39b371a7129a85694)
backport upstream commit 095151b235 (mediatek: fix pwn fan settings for
sinovoip bpi-r3 (v3))
Popular cheap PWM fans for this machine, like the ones coming in
heatsink+fan combos will not work properly at the currently defined
medium speed. Trying different pwm setting using a command
echo $value > /sys/devices/platform/pwm-fan/hwmon/hwmon1/pwm1
I found:
pwm1 value fan rotation speed cpu temperature notes
-----------------------------------------------------------------
0 maximal 31.5 Celsius too noisy
40 optimal 35.2 Celsius no noise hearable
95 minimal
above 95 does not rotate 55.5 Celsius
-----------------------------------------------------------------
Current cooling levels are:
cooling-levels = <255 96 0>;
Thus only cpu-active-high and cpu-active-low modes are usable.
This patch fixes cpu-active-medium settings for bpi-r3 board.
This patch may not be enough. Users may wants to tweak their thermal_zone0
trip points, thus tuning fan rotation speed depending on cpu temperature.
That can be done on the base of the following example:
=== example =========
# cpu temperature below 25 Celsius degrees, no rotation
echo 25000 > /sys/class/thermal/thermal_zone0/trip_point_4_temp
# cpu temperature in [25..32] Celsius degrees, normal rotation speed
echo 32000 > /sys/class/thermal/thermal_zone0/trip_point_3_temp
# cpu temperature above 50 Celsius degrees, max rotation speed
echo 50000 > /sys/class/thermal/thermal_zone0/trip_point_2_temp
=====================
Changes v2:
* put patch to a proper directory
* updated patch description
* tested with latest openwrt based on linux-6.6
Changes v3:
* use upstream linux patch
* update patch description
Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21252
Signed-off-by: Robert Marko <robimarko@gmail.com>
(cherry picked from commit 2916275a3d6cdda8bbc9decb5fd4df5e89a425a1)
Release binaries must be reproducible from the sources shipped with them.
Generate version and version.date from git when CI_COMMIT_TAG is set,
before the build reads either value.
Compute both values before writing either file, then print them for
traceability. The tag condition is the exact complement of the development
guard, so generation cannot run on development builds.
Assisted-by: codex:gpt-5.6-sol:medium-fast
Assisted-by: claude:opus-5:orchestrator
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
References: PCF-2730
version and version.date override the git-derived metadata used by
development builds. Keeping either file after a release-tag sync freezes
the reported revision or source date.
Add a fail-fast check to the shared build template before the first make
invocation. When CI_COMMIT_TAG is empty, the check reports their presence
and points sync authors to upstream's "revert to branch defaults"
commit.
Assisted-by: codex:gpt-5.6-sol:medium-fast
Assisted-by: claude:opus-5:orchestrator
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
References: PCF-2730
The v24.10.5 sync kept the release-tag version and version.date files
and set VERSION_CODE to a fixed revision. Development builds therefore
report the same revision and source date regardless of the commit.
Delete the two release-tag files and restore VERSION_CODE to
$(REVISION), following upstream's tag-then-revert flow. This is the
version-data part of bcfa0417febc; feeds.conf.default and
package/base-files/image-config.in remain unchanged.
Assisted-by: codex:gpt-5.6-sol:medium-fast
Assisted-by: claude:opus-5:orchestrator
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org>
Fixes: bcfa0417fe ("OpenWrt v24.10.5: adjust config defaults")
References: PCF-2730
Integrates following changes:
- hapdAp: add api to RELOAD_BSS conf from hapd memory (991f26cd)
- hapdRad: manage long lasting RELOAD cmd of hapd memory conf (c5a344d5)
- hapdAp: define two new actions to RELOAD hapd mem config of one of all BSSs (652d941f)
- genFsm: add fsm actions to dyn RELOAD hapd mem conf of one or all BSSs (c2b3ee0d)
- genHapd: learn hapd support of RELOAD_BSS wpactlr command (ef3c51f5)
- hapdCfg: move MULTI_AP type definition to header file (0e27dc79)
- hapdCfg: add api for fetch and handle reconf of matched multi-ap FH BSSs (00212c6b)
- hapdAp: add api to dyn SET multi-ap bh ssid in hapd memory (b27c9da1)
- genFsm: manage applying bh ssid and bh creds through fsm (9553f607)
- hapdAp: apply multi-ap bh ssid/creds using RELOAD_BSS isof global RELOAD_CONF (48236192)
- hapdAp: use RELOAD_BSS isof RELOAD_CONF to update wps ssid/creds config (dabbc343)
- nl80211: fix getting non-mlo nl80211 iface info (aa210cfb)
- genFsm: fix slow vap ifaces update after changing operstd (d216c273)
References: PPW-2068, PPW-2269
Signed-off-by: prplbot <bot@prplfoundation.org>
Signed-off-by: FAOUZI YAHYA <faouzi.yahya_ext@softathome.com>
Update the expected prplMesh CLI status output to include the live
controller connectivity state.
The backhaul manager refactoring added the "controller connected" field
to the agent status output. All covered gateway scenarios are operational
and connected to their local controller, so expect the field to be true
across the affected platform CRAM tests.
This is an expected-output update only and does not change test behavior.
References: PPM-4012
Signed-off-by: Dmytro Puz <d.puz@inango-systems.com>
Verify IEEE1905 model population against the number of prplMesh devices
expected in each testbed. Compare AL IDs and DataElements references, and
check that Network.Enable controls materialization.
Run the NMAP checks after the other prplMesh tests to avoid disrupting
the established Controller+Agent state and discovered testbed topology.
Closes: PPM-3970
References: FEAT-319
Signed-off-by: Andrey Erokhin <a.erokhin@inango-systems.com>
Check that prplMesh registers the complete Device.IEEE1905 data model
with obuspa.
Keep this check separate from obuspa.expected and run it before the tests
that restart obuspa. The prplMesh event loop does not currently support
reconnecting after an obuspa restart.
Closes: PPM-3970
References: PPM-4178
References: FEAT-319
Signed-off-by: Andrey Erokhin <a.erokhin@inango-systems.com>
Extend the Cram datamodel expectations with the new Device.IEEE1905 object tree
and the prplMesh HigherLayerRequestIntervalSec configuration parameter.
Closes: PPM-3970
References: FEAT-319
Signed-off-by: Andrey Erokhin <a.erokhin@inango-systems.com>
The WPS button now uses a gpio-keys-polled node, which pulls in
kmod-input-gpio-keys-polled, so it appears in the build .config.
Add it to the expected package list in 005-build-config.t.
Fixed: PCF-2655
Signed-off-by: Tim Hsu <tim.hsu@wnc.com.tw>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [rebased]
WPS button moved from the gpio-keys edge-IRQ node to a separate gpio-keys-polled node to avoid the GPIO12 pad-leakage IRQ storm.
015-platform.t still read soc@0/gpio_keys/button@1, which no longer exists, so the WPS label and linux,code checks failed.
Point both at soc@0/gpio_keys_polled/button@1; reset stays at gpio_keys/button@2 and linux,code is unchanged (0x0211).
Fixed: PCF-2655
Signed-off-by: Tim Hsu <tim.hsu@wnc.com.tw>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [rebased]
On Freedom boards, GPIO12 (WPS button) pad leakage lets the pin
linger near the switching threshold during cold boot, so the mainline
gpio-keys edge IRQ (IRQ36) storms at hundreds of thousands to millions
of edges per second, all pinned to CPU0.
CPU0 gets wedged in hardirq context, stops reporting RCU quiescent states,
and the resulting rcu_preempt stall blocks any driver bring-up that waits on synchronize_rcu(),
stalling i2c-mux/expander/LED probe and locking the board up.
Move the WPS button to a separate gpio-keys-polled node so it no longer requests an edge IRQ,
decoupling it from the pad leakage entirely.
Fixes: PCF-2655
Signed-off-by: Tim Hsu <tim.hsu@wnc.com.tw>
Signed-off-by: Petr Štetiar <petr.stetiar@prplfoundation.org> [rebased, removed PCI fix]