Johannes Berg wrote:
+static int ieee80211_set_channel(struct wiphy *wiphy,
+ struct net_device *netdev,
+ struct ieee80211_channel *chan,
+ enum nl80211_channel_type channel_type)
+{
+ struct ieee80211_local *local = wiphy_priv(wiphy);
+ struct ieee80211_sub_if_data *sdata = NULL;
+
+ if (netdev)
+ sdata = IEEE80211_DEV_TO_SUB_IF(netdev);
+
+ switch (ieee80211_get_channel_mode(local, NULL)) {
+ case CHAN_MODE_HOPPING:
+ return -EBUSY;
+ case CHAN_MODE_FIXED:
+ if (local->oper_channel != chan)
+ return -EBUSY;
+ if (!sdata&& local->_oper_channel_type == channel_type)
+ return 0;
Do we need to keep this part? If not we could remove it in your:
[RFC] mac80211: clean up ieee80211_set_channel
I think we could even remove the whole `ieee80211_get_channel_mode`
thing now since we enforce interface combinations, right? We just need
to adjust the interface combinations verification to refuse mixing ibss
with anything else for the moment. That shouldn't be bad, or is it?
--
Pozdrawiam / Best regards, Michal Kazior.
--
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