mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-12-20 10:51:27 +00:00
29 lines
1.1 KiB
Diff
29 lines
1.1 KiB
Diff
Subject: [PATCH] ath11k: fix invalid vdev id fw crash
|
|
|
|
num_started_vdevs is incremented for vdev restart scenario also.
|
|
Once num_started_vdevs is wrongly incremented, which is not helping
|
|
to stop the monitor vdev in multiple VAP cases. Since monitor vap not
|
|
stopped, deletion of virtual monitor vdev is missed. It leads to vdev id
|
|
leaks in the free_vdev_map. In that case, when we try to create multiple
|
|
VAPs, invalid vdev id is passed to firmware due to zero value of
|
|
free_vdev_map. So avoid the num_started_vdevs incrementing for restart
|
|
case. so that monitor vdev get stopped and deleted properly also vdev id
|
|
leaks not happen. will have proper vdev id from free_vdev_map.
|
|
|
|
Signed-off-by: Karthikeyan Periyasamy <periyasa@codeaurora.org>
|
|
---
|
|
|
|
--- a/drivers/net/wireless/ath/ath11k/mac.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/mac.c
|
|
@@ -6503,7 +6503,9 @@ ath11k_mac_vdev_start_restart(struct ath
|
|
return ret;
|
|
}
|
|
|
|
- ar->num_started_vdevs++;
|
|
+ if (!restart)
|
|
+ ar->num_started_vdevs++;
|
|
+
|
|
ath11k_dbg(ab, ATH11K_DBG_MAC, "vdev %pM started, vdev_id %d\n",
|
|
arvif->vif->addr, arvif->vdev_id);
|
|
|