Skip to content

Commit

Permalink
mac80211: refactor __ieee80211_get_channel_mode
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Johannes Berg authored and John W. Linville committed Jan 24, 2012
1 parent 75ac9a2 commit e9980e6
Showing 1 changed file with 17 additions and 11 deletions.
28 changes: 17 additions & 11 deletions net/mac80211/chan.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down

0 comments on commit e9980e6

Please sign in to comment.