[PATCH] mac80211: util: mesh is not connected properly after recovery

From: Yaniv Machani
Date: Tue Jun 28 2016 - 07:34:53 EST


From: Maital Hahn <maitalm@xxxxxx>

In the reconfigure process for mesh interface, moved the reconfiguration
of the mesh peers to be done only after restarting the beacons,
the same as it is done for AP.

Signed-off-by: Maital Hahn <maitalm@xxxxxx>
Acked-by: Yaniv Machani <yanivma@xxxxxx>
---
net/mac80211/util.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index 5375a82..2431684 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -1910,6 +1910,7 @@ int ieee80211_reconfig(struct ieee80211_local *local)
ieee80211_reconfig_stations(sdata);
/* fall through */
case NL80211_IFTYPE_AP: /* AP stations are handled later */
+ case NL80211_IFTYPE_MESH_POINT: /* MP peers are handled later */
for (i = 0; i < IEEE80211_NUM_ACS; i++)
drv_conf_tx(local, sdata, i,
&sdata->tx_conf[i]);
@@ -2013,7 +2014,8 @@ int ieee80211_reconfig(struct ieee80211_local *local)
if (!sta->uploaded)
continue;

- if (sta->sdata->vif.type != NL80211_IFTYPE_AP)
+ if ((sta->sdata->vif.type != NL80211_IFTYPE_AP) &&
+ (sta->sdata->vif.type != NL80211_IFTYPE_MESH_POINT))
continue;

for (state = IEEE80211_STA_NOTEXIST;
--
2.9.0