From: Johannes Berg <johannes.berg@xxxxxxxxx> In the likely case that probe_count is 0 and the flag is clear, don't write to the memory there. This will avoid cache bouncing when adding parallel RX support. Also use ifmgd consistently in the function, instead of using sdata->u.mgd as well. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> --- net/mac80211/mlme.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 8968a96..219e34d 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c @@ -122,16 +122,18 @@ 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; - sdata->u.mgd.flags &= ~IEEE80211_STA_BEACON_LOSS_REPORTED; + if (ifmgd->probe_send_count) + ifmgd->probe_send_count = 0; + if (ifmgd->flags & IEEE80211_STA_BEACON_LOSS_REPORTED) + ifmgd->flags &= ~IEEE80211_STA_BEACON_LOSS_REPORTED; 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)); } -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html