From f476ee10fb28630bd426eb137b0ef06ecb5287c9 Mon Sep 17 00:00:00 2001 From: Luis Carlos Cobo Date: Wed, 6 Aug 2008 13:17:54 +0200 Subject: [PATCH] --- yaml --- r: 108026 b: refs/heads/master c: 8dbc1722a78343eb80f0ce1a3ef1965a9774ad5b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/mac80211/main.c | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 60712aff745c..bcc2935e92f2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e32f85f7b917456265d4c30d15f734c4912cfa6a +refs/heads/master: 8dbc1722a78343eb80f0ce1a3ef1965a9774ad5b diff --git a/trunk/net/mac80211/main.c b/trunk/net/mac80211/main.c index 0c02c471bca2..aa5a191598c9 100644 --- a/trunk/net/mac80211/main.c +++ b/trunk/net/mac80211/main.c @@ -245,10 +245,13 @@ static int ieee80211_open(struct net_device *dev) case IEEE80211_IF_TYPE_AP: sdata->bss = &sdata->u.ap; break; + case IEEE80211_IF_TYPE_MESH_POINT: + /* mesh ifaces must set allmulti to forward mcast traffic */ + atomic_inc(&local->iff_allmultis); + break; case IEEE80211_IF_TYPE_STA: case IEEE80211_IF_TYPE_MNTR: case IEEE80211_IF_TYPE_IBSS: - case IEEE80211_IF_TYPE_MESH_POINT: /* no special treatment */ break; case IEEE80211_IF_TYPE_INVALID: @@ -495,6 +498,9 @@ static int ieee80211_stop(struct net_device *dev) netif_addr_unlock_bh(local->mdev); break; case IEEE80211_IF_TYPE_MESH_POINT: + /* allmulti is always set on mesh ifaces */ + atomic_dec(&local->iff_allmultis); + /* fall through */ case IEEE80211_IF_TYPE_STA: case IEEE80211_IF_TYPE_IBSS: sdata->u.sta.state = IEEE80211_DISABLED;