12345678910111213141516171819202122232425262728293031323334353637383940 |
- 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);
|