diff options
Diffstat (limited to 'net/mac80211/mesh.c')
-rw-r--r-- | net/mac80211/mesh.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c index a49a3374acb1..79425182c290 100644 --- a/net/mac80211/mesh.c +++ b/net/mac80211/mesh.c | |||
@@ -223,6 +223,7 @@ void mesh_mgmt_ies_add(struct sk_buff *skb, struct ieee80211_sub_if_data *sdata) | |||
223 | struct ieee80211_supported_band *sband; | 223 | struct ieee80211_supported_band *sband; |
224 | u8 *pos; | 224 | u8 *pos; |
225 | int len, i, rate; | 225 | int len, i, rate; |
226 | u8 neighbors; | ||
226 | 227 | ||
227 | sband = local->hw.wiphy->bands[local->hw.conf.channel->band]; | 228 | sband = local->hw.wiphy->bands[local->hw.conf.channel->band]; |
228 | len = sband->n_bitrates; | 229 | len = sband->n_bitrates; |
@@ -271,9 +272,11 @@ void mesh_mgmt_ies_add(struct sk_buff *skb, struct ieee80211_sub_if_data *sdata) | |||
271 | /* Authentication Protocol identifier */ | 272 | /* Authentication Protocol identifier */ |
272 | *pos++ = sdata->u.mesh.mesh_auth_id; | 273 | *pos++ = sdata->u.mesh.mesh_auth_id; |
273 | 274 | ||
274 | /* Mesh Formation Info */ | 275 | /* Mesh Formation Info - number of neighbors */ |
275 | memset(pos, 0x00, 1); | 276 | neighbors = atomic_read(&sdata->u.mesh.mshstats.estab_plinks); |
276 | pos += 1; | 277 | /* Number of neighbor mesh STAs or 15 whichever is smaller */ |
278 | neighbors = (neighbors > 15) ? 15 : neighbors; | ||
279 | *pos++ = neighbors << 1; | ||
277 | 280 | ||
278 | /* Mesh capability */ | 281 | /* Mesh capability */ |
279 | sdata->u.mesh.accepting_plinks = mesh_plink_availables(sdata); | 282 | sdata->u.mesh.accepting_plinks = mesh_plink_availables(sdata); |