mac80211: fix warnings in ieee80211_if_config
authorJohannes Berg <johannes@sipsolutions.net>
Fri, 13 Mar 2009 10:19:45 +0000 (11:19 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Sat, 28 Mar 2009 00:12:52 +0000 (20:12 -0400)
The last warning can never trigger, and the explicit AP_VLAN
check is pointless if we move the config_interface check down,
in practice config_interface is required anyway.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/mac80211/main.c

index f38db4d..dac68d4 100644 (file)
@@ -161,12 +161,6 @@ int ieee80211_if_config(struct ieee80211_sub_if_data *sdata, u32 changed)
        if (WARN_ON(!netif_running(sdata->dev)))
                return 0;
 
-       if (WARN_ON(sdata->vif.type == NL80211_IFTYPE_AP_VLAN))
-               return -EINVAL;
-
-       if (!local->ops->config_interface)
-               return 0;
-
        memset(&conf, 0, sizeof(conf));
 
        if (sdata->vif.type == NL80211_IFTYPE_STATION)
@@ -183,6 +177,9 @@ int ieee80211_if_config(struct ieee80211_sub_if_data *sdata, u32 changed)
                return -EINVAL;
        }
 
+       if (!local->ops->config_interface)
+               return 0;
+
        switch (sdata->vif.type) {
        case NL80211_IFTYPE_AP:
        case NL80211_IFTYPE_ADHOC:
@@ -224,9 +221,6 @@ int ieee80211_if_config(struct ieee80211_sub_if_data *sdata, u32 changed)
                }
        }
 
-       if (WARN_ON(!conf.bssid && (changed & IEEE80211_IFCC_BSSID)))
-               return -EINVAL;
-
        conf.changed = changed;
 
        return local->ops->config_interface(local_to_hw(local),