Thread (40 messages) 40 messages, 4 authors, 2014-06-24

Re: [PATCH v9 1/5] mac80211: implement multi-vif in-place reservations

From: Luca Coelho <hidden>
Date: 2014-06-16 14:35:32

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 <redacted>
---
[...]
quoted hunk ↗ jump to hunk
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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help