On 20 January 2014 15:27, Michal Kazior <michal.kazior@xxxxxxxxx> wrote: > This implements a fairly simple multi-interface > CSA. It doesn't support multiple channel > contexts so it doesn't support multi-channel. > > Once a CSA is started other CSA requests are > denied until the first one is completed. A single > CSA may affect multiple interfaces. CSA can happen > only if all target CSA chandefs are compatible and > all affected interfaces are sharing a single > channel context exclusively. > > A new worker is introduced: csa_complete_work > which is used to account per-interface countdowns > and issue the actual channel switch after last > interface completes its CSA. > > Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> > --- > net/mac80211/cfg.c | 376 ++++++++++++++++++++++++++++++++++++++------- > net/mac80211/chan.c | 117 ++++++++++---- > net/mac80211/ibss.c | 2 +- > net/mac80211/ieee80211_i.h | 23 ++- > net/mac80211/iface.c | 5 +- > net/mac80211/main.c | 6 + > net/mac80211/mesh.c | 2 +- > net/mac80211/mlme.c | 9 +- > net/mac80211/tx.c | 15 +- > 9 files changed, 453 insertions(+), 102 deletions(-) This breaks STA CSA as I forgot to set sdata->csa_complete for the mode. This makes ieee80211_chanctx_chswitch() eventually fail. I'll fix that in v2. Michał -- 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