mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-21 22:47:56 +00:00
93ae4353cd
ath11k is the upstream driver for Qualcomm 802.11ax radios, both for the internal AHB and PCI based cards. This commit does however only provide PCI support while AHB will follow but its SoC specific so it will require an OpenWrt target first. It differs a bit from ath10k as it requires stuff like QRTR, MHI and QMI helpers. PCI variant requires qrtr-mhi and mhi-bus which backports do provide, however we are dropping those in a patch as they will conflict with support for the AHB variant as that one requires qrtr-smd which in turn requires RPMSG and GLINK and its not feasable to provide those in backports as they are really SoC specific. QRTR and MHI in kernel 5.10 are not usable and backporting the changes is not easy as they have changed drastically from 5.10 to 5.15 ath11k will only be available on targets that use kernel 5.15. Signed-off-by: Robert Marko <robimarko@gmail.com>
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;
|