On Thu, 2014-06-12 at 14:54 +0200, Michal Kazior wrote: > Multi-vif in-place reservations happen when > it is impossible to allocate more channel contexts > as indicated by interface combinations. > > Such reservations are not finalized until all > assigned interfaces are ready. > > This still doesn't handle all possible cases > (i.e. degradation of number of channels) properly. > > Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> > --- > [...] > diff --git a/net/mac80211/chan.c b/net/mac80211/chan.c > index 3702d64..159f4c3 100644 > --- a/net/mac80211/chan.c > +++ b/net/mac80211/chan.c > @@ -63,6 +63,19 @@ static bool ieee80211_can_create_new_chanctx(struct ieee80211_local *local) > return ieee80211_num_chanctx(local) < ieee80211_max_num_channels(local); > } > > +static struct ieee80211_chanctx * > +ieee80211_vif_get_chanctx(struct ieee80211_sub_if_data *sdata) > +{ > + struct ieee80211_chanctx_conf *conf; > + > + conf = rcu_dereference_protected(sdata->vif.chanctx_conf, > + lockdep_is_held(&local->chanctx_mtx)); This doesn't compile. local is undefined here. :( It's a simple fix though. s/local/sdata->local/ -- Luca. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html