diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2015-06-05 22:25:01 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2015-06-05 22:25:01 +0200 |
commit | 9f61f62544747db5d5c590bfae9dd19f1337e421 (patch) | |
tree | 74772cccd14e7ab6d01a3452d4030cd7f8e58ccb /net/mac80211/iface.c | |
parent | de8d1810fda5463ee60ba2937ca68e55a52bd9e7 (diff) | |
parent | 086e8ddb567951513a5dace21a09297768aee14f (diff) | |
download | linux-9f61f62544747db5d5c590bfae9dd19f1337e421.tar.bz2 |
Merge branch 'linus' into irq/core
Get the urgent fixes from upstream to avoid conflicts.
Diffstat (limited to 'net/mac80211/iface.c')
-rw-r--r-- | net/mac80211/iface.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index b4ac596a7cb7..bab5c63c0bad 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c @@ -819,13 +819,15 @@ static void ieee80211_do_stop(struct ieee80211_sub_if_data *sdata, * (because if we remove a STA after ops->remove_interface() * the driver will have removed the vif info already!) * - * This is relevant only in WDS mode, in all other modes we've - * already removed all stations when disconnecting or similar, - * so warn otherwise. + * In WDS mode a station must exist here and be flushed, for + * AP_VLANs stations may exist since there's nothing else that + * would have removed them, but in other modes there shouldn't + * be any stations. */ flushed = sta_info_flush(sdata); - WARN_ON_ONCE((sdata->vif.type != NL80211_IFTYPE_WDS && flushed > 0) || - (sdata->vif.type == NL80211_IFTYPE_WDS && flushed != 1)); + WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_AP_VLAN && + ((sdata->vif.type != NL80211_IFTYPE_WDS && flushed > 0) || + (sdata->vif.type == NL80211_IFTYPE_WDS && flushed != 1))); /* don't count this interface for promisc/allmulti while it is down */ if (sdata->flags & IEEE80211_SDATA_ALLMULTI) |