mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 06:57:57 +00:00
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);
|