53 lines
1.7 KiB
Diff
53 lines
1.7 KiB
Diff
|
From 638b26652b0438563a76ec90014c8cba34db982b Mon Sep 17 00:00:00 2001
|
||
|
From: Karthikeyan Periyasamy <quic_periyasa@quicinc.com>
|
||
|
Date: Thu, 6 Oct 2022 06:28:42 +0530
|
||
|
Subject: [PATCH 7/9] wifi: ath11k: suppress add interface error
|
||
|
|
||
|
In the VIF (other than monitor type) creation request, we should not
|
||
|
throw the error code when the monitor VIF creation fails, since the
|
||
|
actual VIF creation succeeds. If we throw the error code from driver
|
||
|
then the actual VIF creation get fail. So suppress the monitor VIF
|
||
|
creation error by throwing warning message instead of error code.
|
||
|
|
||
|
Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.6.0.1-00760-QCAHKSWPL_SILICONZ-1
|
||
|
|
||
|
Signed-off-by: Karthikeyan Periyasamy <quic_periyasa@quicinc.com>
|
||
|
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
|
||
|
Link: https://lore.kernel.org/r/20221006005842.8599-1-quic_periyasa@quicinc.com
|
||
|
---
|
||
|
drivers/net/wireless/ath/ath11k/mac.c | 9 +++------
|
||
|
1 file changed, 3 insertions(+), 6 deletions(-)
|
||
|
|
||
|
--- a/drivers/net/wireless/ath/ath11k/mac.c
|
||
|
+++ b/drivers/net/wireless/ath/ath11k/mac.c
|
||
|
@@ -6421,18 +6421,16 @@ static int ath11k_mac_op_add_interface(s
|
||
|
|
||
|
ath11k_dp_vdev_tx_attach(ar, arvif);
|
||
|
|
||
|
+ ath11k_debugfs_add_interface(arvif);
|
||
|
+
|
||
|
if (vif->type != NL80211_IFTYPE_MONITOR &&
|
||
|
test_bit(ATH11K_FLAG_MONITOR_CONF_ENABLED, &ar->monitor_flags)) {
|
||
|
ret = ath11k_mac_monitor_vdev_create(ar);
|
||
|
- if (ret) {
|
||
|
+ if (ret)
|
||
|
ath11k_warn(ar->ab, "failed to create monitor vdev during add interface: %d",
|
||
|
ret);
|
||
|
- goto err_peer_del;
|
||
|
- }
|
||
|
}
|
||
|
|
||
|
- ath11k_debugfs_add_interface(arvif);
|
||
|
-
|
||
|
mutex_unlock(&ar->conf_mutex);
|
||
|
|
||
|
return 0;
|
||
|
@@ -6457,7 +6455,6 @@ err_vdev_del:
|
||
|
spin_unlock_bh(&ar->data_lock);
|
||
|
|
||
|
err:
|
||
|
- ath11k_debugfs_remove_interface(arvif);
|
||
|
mutex_unlock(&ar->conf_mutex);
|
||
|
|
||
|
return ret;
|