mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-11 05:11:27 +00:00
39 lines
1.5 KiB
Diff
39 lines
1.5 KiB
Diff
|
From 16e0077e14a73866e9b0f4a6bf4ad3d4a5cb0f2a Mon Sep 17 00:00:00 2001
|
||
|
From: Jiasheng Jiang <jiasheng@iscas.ac.cn>
|
||
|
Date: Tue, 13 Jun 2023 12:19:40 +0300
|
||
|
Subject: [PATCH] wifi: ath11k: Add missing check for ioremap
|
||
|
|
||
|
Add check for ioremap() and return the error if it fails in order to
|
||
|
guarantee the success of ioremap(), same as in
|
||
|
ath11k_qmi_load_file_target_mem().
|
||
|
|
||
|
Fixes: 6ac04bdc5edb ("ath11k: Use reserved host DDR addresses from DT for PCI devices")
|
||
|
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
|
||
|
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
|
||
|
Link: https://lore.kernel.org/r/20230608022858.27405-1-jiasheng@iscas.ac.cn
|
||
|
---
|
||
|
drivers/net/wireless/ath/ath11k/qmi.c | 5 +++++
|
||
|
1 file changed, 5 insertions(+)
|
||
|
|
||
|
--- a/drivers/net/wireless/ath/ath11k/qmi.c
|
||
|
+++ b/drivers/net/wireless/ath/ath11k/qmi.c
|
||
|
@@ -2061,6 +2061,9 @@ static int ath11k_qmi_assign_target_mem_
|
||
|
ab->qmi.target_mem[idx].iaddr =
|
||
|
ioremap(ab->qmi.target_mem[idx].paddr,
|
||
|
ab->qmi.target_mem[i].size);
|
||
|
+ if (!ab->qmi.target_mem[idx].iaddr)
|
||
|
+ return -EIO;
|
||
|
+
|
||
|
ab->qmi.target_mem[idx].size = ab->qmi.target_mem[i].size;
|
||
|
host_ddr_sz = ab->qmi.target_mem[i].size;
|
||
|
ab->qmi.target_mem[idx].type = ab->qmi.target_mem[i].type;
|
||
|
@@ -2086,6 +2089,8 @@ static int ath11k_qmi_assign_target_mem_
|
||
|
ab->qmi.target_mem[idx].iaddr =
|
||
|
ioremap(ab->qmi.target_mem[idx].paddr,
|
||
|
ab->qmi.target_mem[i].size);
|
||
|
+ if (!ab->qmi.target_mem[idx].iaddr)
|
||
|
+ return -EIO;
|
||
|
} else {
|
||
|
ab->qmi.target_mem[idx].paddr =
|
||
|
ATH11K_QMI_CALDB_ADDRESS;
|