Ensure proper endianness support for big-endian platforms by correcting data types in the QMI firmware wlan mode request message. Add missing byte swaps wherever this structure is accessed or modified. Fixes: d889913205cf ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices") Signed-off-by: Alexander Wilhelm <alexander.wilhelm@xxxxxxxxxxxx> --- drivers/net/wireless/ath/ath12k/qmi.c | 2 +- drivers/net/wireless/ath/ath12k/qmi.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/ath/ath12k/qmi.c b/drivers/net/wireless/ath/ath12k/qmi.c index 5043d0c39b56..2fdd5eb128d2 100644 --- a/drivers/net/wireless/ath/ath12k/qmi.c +++ b/drivers/net/wireless/ath/ath12k/qmi.c @@ -3242,7 +3242,7 @@ static int ath12k_qmi_wlanfw_mode_send(struct ath12k_base *ab, struct qmi_txn txn; int ret = 0; - req.mode = mode; + req.mode = cpu_to_le32(mode); req.hw_debug_valid = 1; req.hw_debug = 0; diff --git a/drivers/net/wireless/ath/ath12k/qmi.h b/drivers/net/wireless/ath/ath12k/qmi.h index 101d91131ef0..d05cd9b47911 100644 --- a/drivers/net/wireless/ath/ath12k/qmi.h +++ b/drivers/net/wireless/ath/ath12k/qmi.h @@ -552,7 +552,7 @@ struct qmi_wlanfw_m3_info_resp_msg_v01 { #define QMI_WLANFW_MAX_NUM_SHADOW_REG_V3_V01 60 struct qmi_wlanfw_wlan_mode_req_msg_v01 { - u32 mode; + __le32 mode; u8 hw_debug_valid; u8 hw_debug; }; -- 2.34.1