From: Stefan Kerkmann Date: Wed, 10 Sep 2025 13:03:32 +0000 (+0200) Subject: wifi: mwifiex: fix endianness handling in mwifiex_send_rgpower_table X-Git-Tag: v6.18-rc1~132^2~207^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1b2e9feb351435299863b5e7ebeb02634381c883;p=thirdparty%2Flinux.git wifi: mwifiex: fix endianness handling in mwifiex_send_rgpower_table The length of the host command is a u16 stored in little endian byte order, which needs byte order conversion to work correctly on big endian systems. Reported-by: Dan Carpenter Closes: https://lore.kernel.org/linux-wireless/aLqZI4FfOI4iJZtf@stanley.mountain Fixes: 7b6f16a25806 ("wifi: mwifiex: add rgpower table loading support") Signed-off-by: Stefan Kerkmann Reviewed-by: Francesco Dolcini Link: https://patch.msgid.link/20250910-for-next-v1-1-3ee311706231@pengutronix.de Signed-off-by: Johannes Berg --- diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c index 91d5098081e8b..dcca71158fc68 100644 --- a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c +++ b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c @@ -1537,7 +1537,7 @@ int mwifiex_send_rgpower_table(struct mwifiex_private *priv, const u8 *data, } if (*pos == '}' && start_raw) { - memcpy(&hostcmd->len, &hostcmd->cmd[2], sizeof(u16)); + hostcmd->len = get_unaligned_le16(&hostcmd->cmd[2]); ret = mwifiex_send_cmd(priv, 0, 0, 0, hostcmd, false); if (ret) { mwifiex_dbg(adapter, ERROR,