Commit 16e0077e authored by 蒋家盛's avatar 蒋家盛 Committed by Kalle Valo
Browse files

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: 6ac04bdc ("ath11k: Use reserved host DDR addresses from DT for PCI devices")
Signed-off-by: default avatarJiasheng Jiang <jiasheng@iscas.ac.cn>
Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20230608022858.27405-1-jiasheng@iscas.ac.cn
parent 3a5d50f8
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -2058,6 +2058,9 @@ static int ath11k_qmi_assign_target_mem_chunk(struct ath11k_base *ab)
			ab->qmi.target_mem[idx].iaddr =
			ab->qmi.target_mem[idx].iaddr =
				ioremap(ab->qmi.target_mem[idx].paddr,
				ioremap(ab->qmi.target_mem[idx].paddr,
					ab->qmi.target_mem[i].size);
					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;
			ab->qmi.target_mem[idx].size = ab->qmi.target_mem[i].size;
			host_ddr_sz = 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;
			ab->qmi.target_mem[idx].type = ab->qmi.target_mem[i].type;
@@ -2083,6 +2086,8 @@ static int ath11k_qmi_assign_target_mem_chunk(struct ath11k_base *ab)
					ab->qmi.target_mem[idx].iaddr =
					ab->qmi.target_mem[idx].iaddr =
						ioremap(ab->qmi.target_mem[idx].paddr,
						ioremap(ab->qmi.target_mem[idx].paddr,
							ab->qmi.target_mem[i].size);
							ab->qmi.target_mem[i].size);
					if (!ab->qmi.target_mem[idx].iaddr)
						return -EIO;
				} else {
				} else {
					ab->qmi.target_mem[idx].paddr =
					ab->qmi.target_mem[idx].paddr =
						ATH11K_QMI_CALDB_ADDRESS;
						ATH11K_QMI_CALDB_ADDRESS;