mac80211: refactor __ieee80211_get_channel_mode
authorJohannes Berg <johannes.berg@intel.com>
Mon, 9 Jan 2012 12:57:36 +0000 (13:57 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 24 Jan 2012 19:08:39 +0000 (14:08 -0500)
Use a switch statement instead of a list of if
statements. Also include AP_VLAN in the list
and skip them since the AP interface will also
be looked at.

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

index 889c3e9..d1f7abd 100644 (file)
@@ -20,23 +20,29 @@ __ieee80211_get_channel_mode(struct ieee80211_local *local,
                if (!ieee80211_sdata_running(sdata))
                        continue;
 
-               if (sdata->vif.type == NL80211_IFTYPE_MONITOR)
+               switch (sdata->vif.type) {
+               case NL80211_IFTYPE_MONITOR:
                        continue;
-
-               if (sdata->vif.type == NL80211_IFTYPE_STATION &&
-                   !sdata->u.mgd.associated)
-                       continue;
-
-               if (sdata->vif.type == NL80211_IFTYPE_ADHOC) {
+               case NL80211_IFTYPE_STATION:
+                       if (!sdata->u.mgd.associated)
+                               continue;
+                       break;
+               case NL80211_IFTYPE_ADHOC:
                        if (!sdata->u.ibss.ssid_len)
                                continue;
                        if (!sdata->u.ibss.fixed_channel)
                                return CHAN_MODE_HOPPING;
-               }
-
-               if (sdata->vif.type == NL80211_IFTYPE_AP &&
-                   !sdata->u.ap.beacon)
+                       break;
+               case NL80211_IFTYPE_AP_VLAN:
+                       /* will also have _AP interface */
                        continue;
+               case NL80211_IFTYPE_AP:
+                       if (!sdata->u.ap.beacon)
+                               continue;
+                       break;
+               default:
+                       break;
+               }
 
                return CHAN_MODE_FIXED;
        }