This is necessary if we want to have a sdata-based channel recalculation. Change-Id: I223e052146893b3ae1ca46de7d90c54ffc589f1b Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> --- net/mac80211/ieee80211_i.h | 1 + net/mac80211/work.c | 2 ++ 2 files changed, 3 insertions(+), 0 deletions(-) diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index b5e491b..c109960 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h @@ -997,6 +997,7 @@ struct ieee80211_local { struct ieee80211_channel *oper_channel, *csa_channel; /* Temporary remain-on-channel for off-channel operations */ + struct ieee80211_sub_if_data *tmp_sdata; struct ieee80211_channel *tmp_channel; enum nl80211_channel_type tmp_channel_type; diff --git a/net/mac80211/work.c b/net/mac80211/work.c index b2650a9..2a0b252 100644 --- a/net/mac80211/work.c +++ b/net/mac80211/work.c @@ -152,6 +152,7 @@ static void ieee80211_work_work(struct work_struct *work) if (!started && !local->tmp_channel) { ieee80211_offchannel_stop_vifs(local, true); + local->tmp_sdata = wk->sdata; local->tmp_channel = wk->chan; local->tmp_channel_type = wk->chan_type; @@ -219,6 +220,7 @@ static void ieee80211_work_work(struct work_struct *work) } if (!remain_off_channel && local->tmp_channel) { + local->tmp_sdata = NULL; local->tmp_channel = NULL; ieee80211_hw_config(local, 0); -- 1.7.0.4 -- 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