On Wed, Aug 08, 2012 at 02:53:42PM +0300, Victor Goldenshtein wrote: > void (*channel_switch)(struct ieee80211_hw *hw, > struct ieee80211_channel_switch *ch_switch); > + void (*ap_channel_switch)(struct ieee80211_hw *hw, > + struct ieee80211_ap_ch_switch *ap_ch_switch); Why we can not use ->channel_switch calback for this purpose (merge ieee80211_channel_switch and ieee80211_ap_ch_switch)? > +static int > +ieee80211_ap_process_chanswitch(struct wiphy *wiphy, > + struct net_device *dev, > + struct ieee80211_ap_ch_switch *ap_ch_switch) > +{ > + struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); > + struct ieee80211_local *local = sdata->local; > + > + if (!local->ops->channel_switch) > + return -EOPNOTSUPP; Probably you want to check local->ops->ap_channel_switch. Stanislaw -- 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