diff options
author | Johannes Berg <johannes.berg@intel.com> | 2014-02-12 11:29:32 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2014-02-12 11:29:32 +0100 |
commit | 1d5e1266cf4d96660e9b01577fdf8046b076cb58 (patch) | |
tree | 6335cf6b1a78d72676f1f8609878804f75c326c9 /net/mac80211 | |
parent | mac80211_hwsim: allow creation of single-channel radios with chanctx (diff) | |
download | linux-1d5e1266cf4d96660e9b01577fdf8046b076cb58.tar.xz linux-1d5e1266cf4d96660e9b01577fdf8046b076cb58.zip |
mac80211: simplify roc check in idle calculation
There's no need to start iterating the list only to break on the
first item, just use !list_empty() and also simplify the whole
conditional into a single expression.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/iface.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c index 8880bc8fce0d..9db71cf7a665 100644 --- a/net/mac80211/iface.c +++ b/net/mac80211/iface.c @@ -101,9 +101,8 @@ static u32 __ieee80211_idle_on(struct ieee80211_local *local) static u32 __ieee80211_recalc_idle(struct ieee80211_local *local, bool force_active) { - bool working = false, scanning, active; + bool working, scanning, active; unsigned int led_trig_start = 0, led_trig_stop = 0; - struct ieee80211_roc_work *roc; lockdep_assert_held(&local->mtx); @@ -111,12 +110,8 @@ static u32 __ieee80211_recalc_idle(struct ieee80211_local *local, !list_empty(&local->chanctx_list) || local->monitors; - if (!local->ops->remain_on_channel) { - list_for_each_entry(roc, &local->roc_list, list) { - working = true; - break; - } - } + working = !local->ops->remain_on_channel && + !list_empty(&local->roc_list); scanning = test_bit(SCAN_SW_SCANNING, &local->scanning) || test_bit(SCAN_ONCHANNEL_SCANNING, &local->scanning); |