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>
35 lines
1.3 KiB
Diff
35 lines
1.3 KiB
Diff
From 4a93b554cf9fa64faa7cf164c0d32fc3ce67108b Mon Sep 17 00:00:00 2001
|
|
From: Arowa Suliman <arowa@chromium.org>
|
|
Date: Sat, 26 Aug 2023 08:42:42 +0300
|
|
Subject: [PATCH] wifi: ath11k: mhi: add a warning message for MHI_CB_EE_RDDM
|
|
crash
|
|
|
|
Currently, the ath11k driver does not print a crash signature when a
|
|
MHI_CB_EE_RDDM crash happens. Checked by triggering a simulated crash using the
|
|
command and checking dmesg for logs:
|
|
|
|
echo assert > /sys/kernel/debug/ath11k/../simulate_fw_crash
|
|
|
|
Add a warning when firmware crash MHI_CB_EE_RDDM happens.
|
|
|
|
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.23
|
|
|
|
Signed-off-by: Arowa Suliman <arowa@chromium.org>
|
|
Reviewed-by: Jeff Johnson <quic_jjohnson@quicinc.com>
|
|
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
|
|
Link: https://lore.kernel.org/r/20230714001126.463127-1-arowa@chromium.org
|
|
---
|
|
drivers/net/wireless/ath/ath11k/mhi.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
--- a/drivers/net/wireless/ath/ath11k/mhi.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/mhi.c
|
|
@@ -333,6 +333,7 @@ static void ath11k_mhi_op_status_cb(stru
|
|
ath11k_warn(ab, "firmware crashed: MHI_CB_SYS_ERROR\n");
|
|
break;
|
|
case MHI_CB_EE_RDDM:
|
|
+ ath11k_warn(ab, "firmware crashed: MHI_CB_EE_RDDM\n");
|
|
if (!(test_bit(ATH11K_FLAG_UNREGISTERING, &ab->dev_flags)))
|
|
queue_work(ab->workqueue_aux, &ab->reset_work);
|
|
break;
|