diff options
author | Johannes Berg <johannes.berg@intel.com> | 2016-03-17 15:41:37 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2016-04-05 21:34:21 +0200 |
commit | b100e5d622aa8719cc2e776c397817afe24b1f3b (patch) | |
tree | 98c7d9e237c1bbebbfbcd2e27cd7a9748d6768a4 /net/mac80211/mlme.c | |
parent | 2c61cf9c56cbc4e0a4475232659ac30bb4c28674 (diff) | |
download | lwn-b100e5d622aa8719cc2e776c397817afe24b1f3b.tar.gz lwn-b100e5d622aa8719cc2e776c397817afe24b1f3b.zip |
mac80211: avoid useless memory write on each frame RX
In the likely case that probe_count is 0, don't write to the
memory there.
Also use ifmgd consistently in the function, instead of using
sdata->u.mgd as well.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r-- | net/mac80211/mlme.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 281b8d6e5109..2112df4ffb7b 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -122,15 +122,16 @@ void ieee80211_sta_reset_conn_monitor(struct ieee80211_sub_if_data *sdata) { struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; - if (unlikely(!sdata->u.mgd.associated)) + if (unlikely(!ifmgd->associated)) return; - ifmgd->probe_send_count = 0; + if (ifmgd->probe_send_count) + ifmgd->probe_send_count = 0; if (ieee80211_hw_check(&sdata->local->hw, CONNECTION_MONITOR)) return; - mod_timer(&sdata->u.mgd.conn_mon_timer, + mod_timer(&ifmgd->conn_mon_timer, round_jiffies_up(jiffies + IEEE80211_CONNECTION_IDLE_TIME)); } |