mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-06 02:59:27 +00:00
e94052bfee
Synchronize the ath11k backports with upstream linux. Most of them are changes in kernel 6.5, the rest are fixes for the ath11k_pci. The most important one is "Revert 'wifi: ath11k: Enable threaded NAPI'", which fixes the problem that QCN9074 cannot be used after restarting on the x86 platform. [ 23.462718] ath11k_pci 0000:02:00.0: failed to vdev 0 create peer for AP: -110 [ 28.503020] ath11k_pci 0000:02:00.0: Timeout in receiving vdev delete response Changes to ipq8074 coldboot part pick from commit b33bfcf ("mac80211: ath11k: sync with ath-next"). Signed-off-by: Chukun Pan <amadeus@jmu.edu.cn>
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;
|