On 28 April 2014 10:22, Jouni Malinen <jouni@xxxxxxxxxxxxxxxx> wrote: > Implement the new cfg80211 capability to enable mac80211-based drivers > to support for dynamic channel bandwidth changes (e.g., HT 20/40 MHz > changes). > > Signed-off-by: Jouni Malinen <jouni@xxxxxxxxxxxxxxxx> > --- > net/mac80211/cfg.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c > index aaa59d7..1ce407a 100644 > --- a/net/mac80211/cfg.c > +++ b/net/mac80211/cfg.c > @@ -3949,6 +3949,21 @@ static int ieee80211_set_qos_map(struct wiphy *wiphy, > return 0; > } > > +static int ieee80211_set_ap_channel(struct wiphy *wiphy, > + struct net_device *dev, > + struct cfg80211_chan_def *chandef) > +{ > + struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); > + int ret; > + u32 changed = 0; > + Shouldn't interface combinations be verified here? What if there was a bandwidth upgrade (after a downgrade) but in the meantime a vif with a to-be incompatible chandef was brought up? I think the existing usage of ieee80211_vif_change_bandwidth() in ieee80211_config_bw() already suffers from this problem or am I missing something? > + ret = ieee80211_vif_change_bandwidth(sdata, chandef, &changed); > + if (ret == 0) > + ieee80211_bss_info_change_notify(sdata, changed); > + > + return ret; > +} 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