ath10k: Do not send probe response template for mesh [Linux 4.9.187]

This Linux kernel change "ath10k: Do not send probe response template for mesh" is included in the Linux 4.9.187 release. This change is authored by Surabhi Vishnoi <svishnoi [at]> on Wed Apr 17 14:01:46 2019 +0530. The commit for this change in Linux stable tree is eedd6cd (patch) which is from upstream commit 97354f2. The same Linux upstream change may have been applied to various maintained Linux releases and you can find all Linux releases containing changes from upstream 97354f2.

ath10k: Do not send probe response template for mesh

[ Upstream commit 97354f2c432788e3163134df6bb144f4b6289d87 ]

Currently mac80211 do not support probe response template for
mesh point. When WMI_SERVICE_BEACON_OFFLOAD is enabled, host
driver tries to configure probe response template for mesh, but
it fails because the interface type is not NL80211_IFTYPE_AP but

To avoid this failure, skip sending probe response template to
firmware for mesh point.

Tested HW: WCN3990/QCA6174/QCA9984

Signed-off-by: Surabhi Vishnoi <[email protected]>
Signed-off-by: Kalle Valo <[email protected]>
Signed-off-by: Sasha Levin <[email protected]>

There are 4 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 drivers/net/wireless/ath/ath10k/mac.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index fb632a4..1588fe8 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -1596,6 +1596,10 @@ static int ath10k_mac_setup_prb_tmpl(struct ath10k_vif *arvif)
    if (arvif->vdev_type != WMI_VDEV_TYPE_AP)
        return 0;

+    /* For mesh, probe response and beacon share the same template */
+   if (ieee80211_vif_is_mesh(vif))
+       return 0;
    prb = ieee80211_proberesp_get(hw, vif);
    if (!prb) {
        ath10k_warn(ar, "failed to get probe resp template from mac80211\n");

Leave a Reply

Your email address will not be published. Required fields are marked *