mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
45 lines
1.7 KiB
Diff
45 lines
1.7 KiB
Diff
From 79feedfea7793d91293ab72fac5fc66aae0c6a85 Mon Sep 17 00:00:00 2001
|
|
From: Karthikeyan Periyasamy <periyasa@codeaurora.org>
|
|
Date: Tue, 28 Sep 2021 12:05:41 +0300
|
|
Subject: [PATCH 032/120] ath11k: Avoid "No VIF found" warning message
|
|
|
|
Facing below warning prints when we do wifi down in multiple VAPs scenario.
|
|
|
|
warning print:
|
|
|
|
ath11k c000000.wifi: No VIF found for vdev 2
|
|
...
|
|
ath11k c000000.wifi: No VIF found for vdev 0
|
|
|
|
In ath11k_mac_get_arvif_by_vdev_id(), we iterate all the radio to get the
|
|
arvif for the requested vdev_id through ath11k_mac_get_arvif().
|
|
ath11k_mac_get_arvif() throws a warning message if the given vdev_id is
|
|
not found in the given radio. So to avoid the warning message, add
|
|
the allocated_vdev_map cross check against the given vdev_id before using
|
|
ath11k_mac_get_arvif() to ensure that vdev_id is allocated in the
|
|
given radio.
|
|
|
|
Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-01492-QCAHKSWPL_SILICONZ-1
|
|
Tested-on: IPQ6018 hw1.0 AHB WLAN.HK.2.4.0.1-00330-QCAHKSWPL_SILICONZ-1
|
|
|
|
Signed-off-by: Karthikeyan Periyasamy <periyasa@codeaurora.org>
|
|
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
|
|
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
|
|
Link: https://lore.kernel.org/r/20210721212029.142388-8-jouni@codeaurora.org
|
|
---
|
|
drivers/net/wireless/ath/ath11k/mac.c | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
--- a/drivers/net/wireless/ath/ath11k/mac.c
|
|
+++ b/drivers/net/wireless/ath/ath11k/mac.c
|
|
@@ -500,7 +500,8 @@ struct ath11k_vif *ath11k_mac_get_arvif_
|
|
|
|
for (i = 0; i < ab->num_radios; i++) {
|
|
pdev = rcu_dereference(ab->pdevs_active[i]);
|
|
- if (pdev && pdev->ar) {
|
|
+ if (pdev && pdev->ar &&
|
|
+ (pdev->ar->allocated_vdev_map & (1LL << vdev_id))) {
|
|
arvif = ath11k_mac_get_arvif(pdev->ar, vdev_id);
|
|
if (arvif)
|
|
return arvif;
|