]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
wifi: mt76: Fix DTS power-limits on little endian systems
authorSven Eckelmann (Plasma Cloud) <se@simonwunderlich.de>
Fri, 26 Sep 2025 09:32:54 +0000 (11:32 +0200)
committerFelix Fietkau <nbd@nbd.name>
Mon, 24 Nov 2025 13:37:53 +0000 (14:37 +0100)
commit38b845e1f9e810869b0a0b69f202b877b7b7fb12
tree4540bb0fa5252b0bbe1818857acd12dc5213adcd
parent8c5b063061326b84192625c62e963f1e998193a8
wifi: mt76: Fix DTS power-limits on little endian systems

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>
drivers/net/wireless/mediatek/mt76/eeprom.c