]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
wifi: mt76: Fix DTS power-limits on little endian systems
authorSven Eckelmann (Plasma Cloud) <se@simonwunderlich.de>
Mon, 29 Dec 2025 21:58:01 +0000 (16:58 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 12:10:06 +0000 (13:10 +0100)
commit214a854d0d993d0a341c1449eaf0928d5745a0cd
tree9d59379715e9b7cfedf105da376285949074e5fe
parent8a589c56b0d6ec51519a55152daebf2828fa385d
wifi: mt76: Fix DTS power-limits on little endian systems

[ Upstream commit 38b845e1f9e810869b0a0b69f202b877b7b7fb12 ]

The power-limits for ru and mcs and stored in the devicetree as bytewise
array (often with sizes which are not a multiple of 4). These arrays have a
prefix which defines for how many modes a line is applied. This prefix is
also only a byte - but the code still tried to fix the endianness of this
byte with a be32 operation. As result, loading was mostly failing or was
sending completely unexpected values to the firmware.

Since the other rates are also stored in the devicetree as bytewise arrays,
just drop the u32 access + be32_to_cpu conversion and directly access them
as bytes arrays.

Cc: stable@vger.kernel.org
Fixes: 22b980badc0f ("mt76: add functions for parsing rate power limits from DT")
Fixes: a9627d992b5e ("mt76: extend DT rate power limits to support 11ax devices")
Signed-off-by: Sven Eckelmann (Plasma Cloud) <se@simonwunderlich.de>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
[ Adjust context ]
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/wireless/mediatek/mt76/eeprom.c