0011-wifi-ath11k-fix-monitor-vdev-creation-with-firmware-.patch 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. From f3ca72b0327101a074a871539e61775d43908ca4 Mon Sep 17 00:00:00 2001
  2. From: Nagarajan Maran <quic_nmaran@quicinc.com>
  3. Date: Fri, 14 Oct 2022 21:20:54 +0530
  4. Subject: [PATCH] wifi: ath11k: fix monitor vdev creation with firmware
  5. recovery
  6. During firmware recovery, the monitor interface is not
  7. getting created in the driver and firmware since
  8. the respective flags are not updated properly.
  9. So after firmware recovery is successful, when monitor
  10. interface is brought down manually, firmware assertion
  11. is observed, since we are trying to bring down the
  12. interface which is not yet created in the firmware.
  13. Fix this by updating the monitor flags properly per
  14. phy#, during firmware recovery.
  15. Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
  16. Signed-off-by: Nagarajan Maran <quic_nmaran@quicinc.com>
  17. Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
  18. Link: https://lore.kernel.org/r/20221014155054.11471-1-quic_nmaran@quicinc.com
  19. ---
  20. drivers/net/wireless/ath/ath11k/core.c | 4 ++++
  21. 1 file changed, 4 insertions(+)
  22. --- a/drivers/net/wireless/ath/ath11k/core.c
  23. +++ b/drivers/net/wireless/ath/ath11k/core.c
  24. @@ -1677,6 +1677,10 @@ void ath11k_core_pre_reconfigure_recover
  25. ath11k_mac_tx_mgmt_pending_free, ar);
  26. idr_destroy(&ar->txmgmt_idr);
  27. wake_up(&ar->txmgmt_empty_waitq);
  28. +
  29. + ar->monitor_vdev_id = -1;
  30. + clear_bit(ATH11K_FLAG_MONITOR_STARTED, &ar->monitor_flags);
  31. + clear_bit(ATH11K_FLAG_MONITOR_VDEV_CREATED, &ar->monitor_flags);
  32. }
  33. wake_up(&ab->wmi_ab.tx_credits_wq);