[PATCH 08/11] wifi: ath12k: fix endianness handling in QMI firmware m3 info

Alexander Wilhelm alexander.wilhelm at westermo.com
Wed Jul 16 00:50:57 PDT 2025


Ensure proper endianness support for big-endian platforms by correcting
data types in the QMI firmware M3 info 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 at westermo.com>
---
 drivers/net/wireless/ath/ath12k/qmi.c | 4 ++--
 drivers/net/wireless/ath/ath12k/qmi.h | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/wireless/ath/ath12k/qmi.c b/drivers/net/wireless/ath/ath12k/qmi.c
index d18ffb86f7bc..5043d0c39b56 100644
--- a/drivers/net/wireless/ath/ath12k/qmi.c
+++ b/drivers/net/wireless/ath/ath12k/qmi.c
@@ -3198,8 +3198,8 @@ int ath12k_qmi_wlanfw_m3_info_send(struct ath12k_base *ab)
 			ath12k_err(ab, "failed to load m3 firmware: %d", ret);
 			return ret;
 		}
-		req.addr = m3_mem->paddr;
-		req.size = m3_mem->size;
+		req.addr = cpu_to_le64(m3_mem->paddr);
+		req.size = cpu_to_le32(m3_mem->size);
 	}
 
 	ret = qmi_txn_init(&ab->qmi.handle, &txn,
diff --git a/drivers/net/wireless/ath/ath12k/qmi.h b/drivers/net/wireless/ath/ath12k/qmi.h
index a48850ec0296..101d91131ef0 100644
--- a/drivers/net/wireless/ath/ath12k/qmi.h
+++ b/drivers/net/wireless/ath/ath12k/qmi.h
@@ -529,8 +529,8 @@ struct qmi_wlanfw_bdf_download_resp_msg_v01 {
 #define QMI_WLANFW_M3_INFO_REQ_V01		0x003C
 
 struct qmi_wlanfw_m3_info_req_msg_v01 {
-	u64 addr;
-	u32 size;
+	__le64 addr;
+	__le32 size;
 };
 
 struct qmi_wlanfw_m3_info_resp_msg_v01 {
-- 
2.34.1




More information about the ath12k mailing list