wifi: ath11k: Add missing check for ioremap
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Tue, 13 Jun 2023 09:19:40 +0000 (12:19 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Jul 2023 14:21:09 +0000 (16:21 +0200)
[ Upstream commit 16e0077e14a73866e9b0f4a6bf4ad3d4a5cb0f2a ]

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
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/ath/ath11k/qmi.c

index 381c6b3..01b02c0 100644 (file)
@@ -2058,6 +2058,9 @@ static int ath11k_qmi_assign_target_mem_chunk(struct ath11k_base *ab)
                        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;
@@ -2083,6 +2086,8 @@ static int ath11k_qmi_assign_target_mem_chunk(struct ath11k_base *ab)
                                        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;