mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 16:31:13 +00:00
93ae4353cd
ath11k is the upstream driver for Qualcomm 802.11ax radios, both for the internal AHB and PCI based cards. This commit does however only provide PCI support while AHB will follow but its SoC specific so it will require an OpenWrt target first. It differs a bit from ath10k as it requires stuff like QRTR, MHI and QMI helpers. PCI variant requires qrtr-mhi and mhi-bus which backports do provide, however we are dropping those in a patch as they will conflict with support for the AHB variant as that one requires qrtr-smd which in turn requires RPMSG and GLINK and its not feasable to provide those in backports as they are really SoC specific. QRTR and MHI in kernel 5.10 are not usable and backporting the changes is not easy as they have changed drastically from 5.10 to 5.15 ath11k will only be available on targets that use kernel 5.15. Signed-off-by: Robert Marko <robimarko@gmail.com>
41 lines
1.5 KiB
Diff
41 lines
1.5 KiB
Diff
From f3ca72b0327101a074a871539e61775d43908ca4 Mon Sep 17 00:00:00 2001
|
|
From: Nagarajan Maran <quic_nmaran@quicinc.com>
|
|
Date: Fri, 14 Oct 2022 21:20:54 +0530
|
|
Subject: [PATCH] wifi: ath11k: fix monitor vdev creation with firmware
|
|
recovery
|
|
|
|
During firmware recovery, the monitor interface is not
|
|
getting created in the driver and firmware since
|
|
the respective flags are not updated properly.
|
|
|
|
So after firmware recovery is successful, when monitor
|
|
interface is brought down manually, firmware assertion
|
|
is observed, since we are trying to bring down the
|
|
interface which is not yet created in the firmware.
|
|
|
|
Fix this by updating the monitor flags properly per
|
|
phy#, during firmware recovery.
|
|
|
|
Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
|
|
|
|
Signed-off-by: Nagarajan Maran <quic_nmaran@quicinc.com>
|
|
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
|
|
Link: https://lore.kernel.org/r/20221014155054.11471-1-quic_nmaran@quicinc.com
|
|
---
|
|
drivers/net/wireless/ath/ath11k/core.c | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
--- a/drivers/net/wireless/ath/ath11k/core.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/core.c
|
|
@@ -1677,6 +1677,10 @@ void ath11k_core_pre_reconfigure_recover
|
|
ath11k_mac_tx_mgmt_pending_free, ar);
|
|
idr_destroy(&ar->txmgmt_idr);
|
|
wake_up(&ar->txmgmt_empty_waitq);
|
|
+
|
|
+ ar->monitor_vdev_id = -1;
|
|
+ clear_bit(ATH11K_FLAG_MONITOR_STARTED, &ar->monitor_flags);
|
|
+ clear_bit(ATH11K_FLAG_MONITOR_VDEV_CREATED, &ar->monitor_flags);
|
|
}
|
|
|
|
wake_up(&ab->wmi_ab.tx_credits_wq);
|