On Wed, Aug 1, 2012 at 6:21 PM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote: > From: Johannes Berg <johannes.berg@xxxxxxxxx> > > Support extended channel switch when the operating > class is one of the global operating classes as > defined in Annex E of 802.11-2012. If it isn't, > disconnect from the AP instead. > > Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> [...] > +static void > +ieee80211_sta_process_chanswitch(struct ieee80211_sub_if_data *sdata, > + u8 new_chan_no, u8 count, u8 mode, > + enum ieee80211_band new_band, > + struct ieee80211_bss *bss, u64 timestamp) > { > struct cfg80211_bss *cbss = > container_of((void *)bss, struct cfg80211_bss, priv); > struct ieee80211_channel *new_ch; > struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; > - int new_freq = ieee80211_channel_to_frequency(sw_elem->new_ch_num, > - cbss->channel->band); > + int new_freq = ieee80211_channel_to_frequency(new_chan_no, new_band); I'm not sure a channel switch between bands should be allowed. Case in point - a device might have different HT capabilities between bands, so different rates might need to be programmed to FW. This would require a re-assoc.. Arik -- 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