diff mbox

mac80211: util: mesh is not connected properly after recovery

Message ID 20160628111546.8932-1-yanivma@ti.com (mailing list archive)
State Changes Requested
Delegated to: Johannes Berg
Headers show

Commit Message

Machani, Yaniv June 28, 2016, 11:15 a.m. UTC
From: Maital Hahn <maitalm@ti.com>

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@ti.com>
Acked-by: Yaniv Machani <yanivma@ti.com>
---
 net/mac80211/util.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Johannes Berg June 29, 2016, 7:20 a.m. UTC | #1
On Tue, 2016-06-28 at 14:15 +0300, Yaniv Machani wrote:
> From: Maital Hahn <maitalm@ti.com>
> 
> 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@ti.com>
> Acked-by: Yaniv Machani <yanivma@ti.com>
> 
Same here, and this also needs a description of why this is OK with
other drivers, since presumably it already works there.

johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Johannes Berg June 29, 2016, 7:20 a.m. UTC | #2
Also - your subject lines should explain the *fix*, not the *bug*

johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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;