From: Rajkumar Manoharan <rmanohar@codeaurora.org>
To: ath11k@lists.infradead.org
Cc: Rajkumar Manoharan <rmanohar@codeaurora.org>
Subject: [PATCH v2 1/3] ath11k: enable mesh mode
Date: Fri, 19 Apr 2019 11:11:36 -0700 [thread overview]
Message-ID: <1555697498-27472-2-git-send-email-rmanohar@codeaurora.org> (raw)
In-Reply-To: <1555697498-27472-1-git-send-email-rmanohar@codeaurora.org>
Allow Meshpoint configuration from ath11k and advertise MP
support to mac80211. Firmware supports mesh type from
WLAN.HK.2.1.0.1-00113-QCAHKSWPL_SILICONZ-1 onwards. As of now,
only open auth mesh networking is working.
Known issues:
- Depends on firmware fix to allow other BSS frames
- Failed to complete path negotiation in secured mode
- Target assert while shutting down interface in secured mode
Signed-off-by: Rajkumar Manoharan <rmanohar@codeaurora.org>
---
v2: added fallthrough comment
drivers/net/wireless/ath/ath11k/mac.c | 11 ++++++++++-
drivers/net/wireless/ath/ath11k/wmi.h | 11 +++++++----
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
index 12a2c4421264..7d838f2a9138 100644
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -2579,6 +2579,7 @@ static int ath11k_sta_state(struct ieee80211_hw *hw,
} else if (old_state == IEEE80211_STA_AUTH &&
new_state == IEEE80211_STA_ASSOC &&
(vif->type == NL80211_IFTYPE_AP ||
+ vif->type == NL80211_IFTYPE_MESH_POINT ||
vif->type == NL80211_IFTYPE_ADHOC)) {
ret = ath11k_station_assoc(ar, vif, sta, false);
if (ret)
@@ -2591,6 +2592,7 @@ static int ath11k_sta_state(struct ieee80211_hw *hw,
} else if (old_state == IEEE80211_STA_ASSOC &&
new_state == IEEE80211_STA_AUTH &&
(vif->type == NL80211_IFTYPE_AP ||
+ vif->type == NL80211_IFTYPE_MESH_POINT ||
vif->type == NL80211_IFTYPE_ADHOC)) {
ret = ath11k_station_disassoc(ar, vif, sta);
if (ret)
@@ -3436,6 +3438,9 @@ static int ath11k_add_interface(struct ieee80211_hw *hw,
case NL80211_IFTYPE_STATION:
arvif->vdev_type = WMI_VDEV_TYPE_STA;
break;
+ case NL80211_IFTYPE_MESH_POINT:
+ arvif->vdev_subtype = WMI_VDEV_SUBTYPE_MESH_11S;
+ /* fall through */
case NL80211_IFTYPE_AP:
arvif->vdev_type = WMI_VDEV_TYPE_AP;
break;
@@ -4702,6 +4707,9 @@ static int ath11k_get_survey(struct ieee80211_hw *hw, int idx,
{
.max = 16,
.types = BIT(NL80211_IFTYPE_AP)
+#ifdef CONFIG_MAC80211_MESH
+ | BIT(NL80211_IFTYPE_MESH_POINT)
+#endif
},
};
@@ -4820,7 +4828,8 @@ static int ath11k_mac_register(struct ath11k *ar)
ar->hw->wiphy->available_antennas_tx = cap->tx_chain_mask;
ar->hw->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) |
- BIT(NL80211_IFTYPE_AP);
+ BIT(NL80211_IFTYPE_AP) |
+ BIT(NL80211_IFTYPE_MESH_POINT);
ieee80211_hw_set(ar->hw, SIGNAL_DBM);
ieee80211_hw_set(ar->hw, SUPPORTS_PS);
diff --git a/drivers/net/wireless/ath/ath11k/wmi.h b/drivers/net/wireless/ath/ath11k/wmi.h
index 8102e80506fa..5d20f57fbacc 100644
--- a/drivers/net/wireless/ath/ath11k/wmi.h
+++ b/drivers/net/wireless/ath/ath11k/wmi.h
@@ -4720,10 +4720,13 @@ enum wmi_vdev_type {
};
enum wmi_vdev_subtype {
- WMI_VDEV_SUBTYPE_NONE = 0,
- WMI_VDEV_SUBTYPE_P2P_DEVICE = 1,
- WMI_VDEV_SUBTYPE_P2P_CLIENT = 2,
- WMI_VDEV_SUBTYPE_P2P_GO = 3,
+ WMI_VDEV_SUBTYPE_NONE,
+ WMI_VDEV_SUBTYPE_P2P_DEVICE,
+ WMI_VDEV_SUBTYPE_P2P_CLIENT,
+ WMI_VDEV_SUBTYPE_P2P_GO,
+ WMI_VDEV_SUBTYPE_PROXY_STA,
+ WMI_VDEV_SUBTYPE_MESH_NON_11S,
+ WMI_VDEV_SUBTYPE_MESH_11S,
};
enum wmi_sta_powersave_param {
--
1.9.1
_______________________________________________
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k
next prev parent reply other threads:[~2019-04-19 18:11 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-19 18:11 [PATCH v2 0/3] ath11k: Add Mesh mode support Rajkumar Manoharan
2019-04-19 18:11 ` Rajkumar Manoharan [this message]
2019-04-19 18:11 ` [PATCH v2 2/3] ath11k: allow 4 address transmission for mesh packet Rajkumar Manoharan
2019-04-19 18:11 ` [PATCH v2 3/3] ath11k: remove unnecessary check for PMF Rajkumar Manoharan
2019-05-28 13:48 ` [PATCH v2 0/3] ath11k: Add Mesh mode support Sven Eckelmann
2019-05-28 14:39 ` Sven Eckelmann
2019-05-29 4:26 ` Rajkumar Manoharan
2019-05-29 7:41 ` Sven Eckelmann
2019-05-29 7:52 ` Rajkumar Manoharan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1555697498-27472-2-git-send-email-rmanohar@codeaurora.org \
--to=rmanohar@codeaurora.org \
--cc=ath11k@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox